überprüfen Sie, ob der Wert null ist laravel 5
Ich versuche zu überprüfen, ob eine Menge von Feldern, muss mindestens ein leeres Feld. Wenn es leere Feld, und sollte der alert pop -, wenn nicht sollte es tun etwas anderes.
Code
public function updatePerfil() {
$file = Input::file('imagem');
$email = Input::get('email');
$profileData = Input::except('_token');
$validation = Validator::make($profileData, User::$profileData);
if ($validation->passes()) {
$update = Input::only('name','imagem','data_nascimiento');
if ($file == null || $email == null) {
User::where('id', Input::get('id'))->update($profileData);
Session::flash('message', 'Perfil editado com sucesso');
return view('backend/perfil.index');
}
$file = array_get($profileData,'imagem');
$destinationPath = 'imagens/perfil/';
$extension = $file->getClientOriginalExtension();
$filename = Auth::user()->id . '.' . $extension;
$profileData['imagem'] = $filename;
Image::make($file)->resize(400, 400)->save($destinationPath.$filename);
User::where('id', Input::get('id'))->update($profileData);
Session::flash('message', 'Perfil editado com sucesso');
return Redirect::to('backend/perfil');
} else {
return Redirect::to('backend/perfil')->withInput()->withErrors($validation);
}
}
public static $profileData = array(
'email' => 'email|unique:users',
'name' => 'required|min:5|max:25',
'data_nascimento' => 'date',
'imagem' => 'image|max:1000|mimes:jpeg,jpg,png'
);
Form
{!! Form::open(array('class' => 'form-horizontal', 'url' => 'backend/perfil', 'name' => 'updatePerfil', 'role' => 'form', 'files'=> true))!!}
<input type="hidden" name="id" value="{{Auth::user()->id}}">
<div class="row">
<div class="col-md-3 col-lg-3"></div>
<div class="col-md-7 col-lg-7">
@if (count($errors) > 0)
<div class="alert alert-danger" style="margin-top: 0px;">
<strong>Ups!</strong> Existe algum problema com o formulário.<br><br>
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
</div>
</div>
<div class="row">
<div class="col-md-3 col-lg-3"></div>
<div class="col-md-7 col-lg-7">
@if (Session::has('message'))
<div class="alert alert-success" style="margin-top: 0px;">
{{ Session::get('message') }}
</div>
@endif
</div>
</div>
<div class="row" style="margin-bottom: 20px;">
<div class="col-md-3 col-lg-3"></div>
<div class="col-md-2 col-lg-2">
{!! Form::label('name', 'Utilizador', ['class' => 'label_perfil']) !!}
</div>
<div class="col-md-5 col-lg-5">
{!! Form::text('name', Auth::user()->name, ['class' => 'form-control input-md' , 'placeholder' => 'Utilizador']) !!}
</div>
</div>
<div class="row" style="margin-bottom: 20px;">
<div class="col-md-3 col-lg-3"></div>
<div class="col-md-2 col-lg-2">
{!! Form::label('data_nascimento', 'Data de nascimento', ['class' => 'label_perfil']) !!}
</div>
<div class="col-md-5 col-lg-5">
{!! Form::date('data_nascimento', Auth::user()->data_nascimento, ['class' => 'form-control input-md']) !!}
</div>
</div>
<div class="row" style="margin-bottom: 20px;">
<div class="col-md-3 col-lg-3"></div>
<div class="col-md-2 col-lg-2">
{!! Form::label('genero', 'Sexo', ['class' => 'label_perfil']) !!}
</div>
<div class="col-md-5 col-lg-5">
{!! Form::select('genero', ['Masculino' => 'Masculino', 'Feminino' => 'Feminino'], Auth::user()->genero, ['class' => 'form-control input-md']) !!}
</div>
</div>
<div class="row" style="margin-bottom: 20px;">
<div class="col-md-3 col-lg-3"></div>
<div class="col-md-2 col-lg-2">
{!! Form::label('email', 'Email', ['class' => 'label_perfil']) !!}
</div>
<div class="col-md-5 col-lg-5">
{!! Form::text('email', Auth::user()->email, ['class' => 'form-control input-md', 'placeholder' => 'Email']) !!}
</div>
</div>
<div class="row" style="margin-bottom: 20px;">
<div class="col-md-3 col-lg-3"></div>
<div class="col-md-2 col-lg-2">
{!! Form::label('imagem', 'Imagem', ['class' => 'label_perfil']) !!}
</div>
<div class="col-md-5 col-lg-5">
{!! Form::file('imagem', ['class' => 'input-file']) !!}
</div>
</div>
<div class="row" style="margin-bottom: 20px; margin-top: 30px;">
<div class="col-md-3 col-lg-3"></div>
<div class="col-md-9 col-lg-9">
{!! Form::submit('Alterar perfil', ['class' => 'btn btn-primary']) !!}
</div>
</div>
{!! Form::close() !!}
Wenn ich versuche zu aktualisieren, die E-Mail-Feld ohne Eingabe alles, was er actualizame in der Datenbank als leere Feld, und ich will das fortsetzen, was der Benutzer tut.
Mit dem Bild funktioniert. Ich weiß nicht, wenn Sie abholen kommen. Weiß jemand wie dieses problem zu lösen?
Was ist
die Validierung verwenden, laravel.com/docs/5.1/validation
ich bearbeitet meine post
User::$profileData
variable? Es sollten sieht aus wie Validator::make($profileData, ['name' => 'required', ...])
.die Validierung verwenden, laravel.com/docs/5.1/validation
ich bearbeitet meine post
InformationsquelleAutor Jose Cerejo | 2015-11-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Validierung von Laravel mit ein bisschen laravel Magie zu prüfen, falls die email nicht null ist, versuchen Sie dies:
Vergessen Sie nicht, den $$ ist variable, variable in php...
UPDATE
Verwenden Sie diesen code statt:
funktioniert nicht...ich muss versuchen, die anderen Weg
Alle Fehler??? Sie werden immer den gleichen Konflikt getClientOriginalExtension()?
ja, ich will. Ich verstehe nicht, warum
imagem werden muss eine Datei, nicht ein array von Dateien
InformationsquelleAutor Carlos Arauz
Es ist $$E auf der Dritten Zeile und in der if-Bedingung $E-Mail. Überprüfen Sie bitte, ob Ihr einen Tippfehler. Abgesehen von diesem, isset() in php helfen sollte, die mit der überprüfung von NULL-Werten oder zu überprüfen, ob ein Wert gesetzt ist oder nicht.
InformationsquelleAutor Flemin Adambukulam