我是Laravel的新手,正在尝试弄清楚如何验证用户输入。
我有一个包含多个文本域、一个文本区和一个复选框的表单:
{{ Form::text('firstname', '', ['placeholder' => 'First Name', 'class' => 'form-control']) }}
{{ Form::text('lastname', '', ['placeholder' => 'Last Name', 'class' => 'form-control']) }}
{{ Form::email('email', '', ['placeholder' => 'Email', 'class' => 'form-control']) }}
{{ Form::textarea('question', '', ['placeholder' => 'Question', 'class' => 'form-control']) }}
{{ Form::checkbox('terms_and_conditions', 'yes') }}
{{ Form::label('terms_and_conditions', 'I agree to terms and conditions') }}验证规则包括:
public static $rules = array(
'firstname' => 'required|between:2,20',
'lastname' => 'required|between: 2,30',
'email' => 'required|email',
'question' => 'required|max: 5000',
'terms_and_conditions' => 'required|accepted',
);文本字段都按照预期进行了验证,但我无法让复选框字段进行验证。我将$input的json回显到视图,并且可以验证模型是否正在接收terms_and_conditions复选框值,所以我不明白为什么它不会验证?
如果我添加任何新字段或更改字段的名称,这些字段也不会生效。
我是不是遗漏了什么?
发布于 2014-07-10 23:25:14
我刚刚意识到我的模型中有一个明显的新手错误。我忘了添加terms_and_conditions作为可填充字段。表单现在可以正确验证了,这就回避了另一个问题,是否可以将该字段排除在数据库之外?我不希望数据库中有该列,但是Laravel抛出了一个没有它的异常。
https://stackoverflow.com/questions/24661700
复制相似问题