Mas*_*sum 2 php forms validation radio-button laravel
这是我的单选按钮代码
<div class="radio">
<label><input type="radio" name="gander" value="male">male </label>
<label><input type="radio" name="gander" value="female">female</label>
</div>
Run Code Online (Sandbox Code Playgroud)
我的控制器代码是
//validate this form
$this->validate(request(),[
'title' => 'required',
'body' => 'required',
'gander'=> 'in:male,female'
]);
$post = new Post;
$post->title = $request['title'];
$post->body = $request['body'];
$post->status= $request['status'];
$post->male = $request['male'];
$post->female= $request['female'];
$post->save();
//And then redirect to the home
return redirect('blog');
}
Run Code Online (Sandbox Code Playgroud)
当我提交这种形式显示此错误SQLSTATE [23000]:完整性约束违规:1048列'男'不能为空(SQL:INSERT INTO posts(title,body,status,male,female,updated_at,created_at)值(SDF,sdfsfsd,0,,,2017年-03-01 13:09:54,2017-03-01 13:09:54))
这意味着两个单选按钮数据都需要数据库字段。在我的表中有以下字段“标题”,“身体”,“状态”,“男性”,“女性”,“ created_at”和“ updated_at”
我的问题是如何验证单选按钮以及如何使用单选按钮值插入数据?谢谢。
如果性别是必填字段,则还应将所需的验证传递给gander属性,如下所示
'gander'=> 'required|in:male,female'
Run Code Online (Sandbox Code Playgroud)
如果不是require字段,则在数据库表中使male列为空。
而且您的表格设计中还存在问题,而不是在名称为性别和类型bollean的列上将男性价值与男性价值,女性价值与女性价值相提并论,然后为男性设置0,为女性设置1。
如果您不想使用布尔值,则对性别使用enum数据类型。enum是您的最佳选择。
| 归档时间: |
|
| 查看次数: |
9760 次 |
| 最近记录: |