天天看点

php 复选框值的验证,php – 条件验证,如果复选框选择了laravelEdit: {!! $user->name !!}

我在Laravel中有一个表单,我想根据一个复选框验证三个文本字段.它是一个编辑用户表单,如果我选择是,我只想更新密码.这是我认为的形式:

Edit: {!! $user->name !!}

{!! Form::model($user, ['method' => 'PATCH', 'action' => ['Ac[email protected]', $user->id], 'files' => true]) !!}

Name: {!! Form::text('name') !!}

Email: {!! Form::text('email') !!}

Update Password? (tick for yes)   {!! Form::checkbox('updatepasswordcheck', 0, false) !!}

Old Password: {!! Form::password('oldpassword') !!}

New Password: {!! Form::password('newpassword') !!}

New Password Confirm: {!! Form::password('newpasswordconfirm') !!}

@if($user->role_id == 1)

User Role: {!! Form::select('user_type', ['admin', 'guest'], '1') !!}

@else

User Role: {!! Form::select('user_type', ['admin', 'guest'], '0') !!}

@endif

{!! Form::submit('Update') !!}

{!! Form::close() !!}

@include ('errors.list_errors')

然后,我有一个名为EditAccountRequest的请求,如下所示:

namespace App\Http\Requests;

use App\Http\Requests\Request;

class EditAccountRequest extends Request

{

public function authorize()

{

return true;

}

public function rules()

{

if($this->inputs['updatepasswordcheck'])

{

$rules['oldpassword'] = 'required';

$rules['newpassword'] = 'required';

$rules['newpasswordconfirm'] = 'required';

}

$rules['name'] = 'required|min:3';

$rules['email'] = 'required|email';

return $rules;

}

}

我的问题是,当我看到复选框’updatepasswordcheck’是否为真时,它永远不会起作用,因为输入始终显示为null.有人知道怎么修这个东西吗?