[英]Validate select form in laravel
我的联系表格上有这个 html:
<div class="form-group">
<label class="col-md-2 control-label" for="type">Type of website?</label>
<div class="col-md-10 inputGroupContainer">
<div class="input-group">
<span class="input-group-addon"><i class="fa fa-file-code-o"></i></span>
<select class="form-control" id="type">
<option>Business</option>
<option>Company</option>
<option>Personal</option>
<option>Online Shopping</option>
<option>Other</option>
</select>
</div>
</div>
</div>
如何在电子邮件中验证和传递此字段的数据?
目前我有这个:
<!-- Text input-->
<div class="form-group">
<label class="col-md-2 control-label">Type</label>
<div class="col-md-10 inputGroupContainer">
<div class="input-group">
<span class="input-group-addon"><i class="fa fa-file-code-o"></i></span>
<input name="type" placeholder="eg. Business, Company, Personal, Online Shopping, etc." class="form-control" type="text">
</div>
</div>
</div>
我像这样验证并传递它:
$data = array(
'type' => $request->type,
);
但这是我想要的输入字段是我的第一个示例(选择框),所以我不知道该怎么做!
谢谢。
首先给
Select
下拉字段的名称,然后在最简单的方法之后在验证规则中使用select
输入字段的名称。 你给出的required
<select class="form-control" id="type" name="Business_Type">
<option value="">Select Type</option>
<option value="Business">Business</option>
<option value="Company">Company</option>
<option value="Personal">Personal</option>
<option value="Online Shopping">Online Shopping</option>
<option value="Other">Other</option>
</select>
// Validation rules somewhere...
$rules = [
...
'Business_Type' => 'required',
...
];
你可以这样做:
<div class="form-group">
<label class="col-md-2 control-label" for="type">Type of website?</label>
<div class="col-md-10 inputGroupContainer">
<div class="input-group">
<span class="input-group-addon"><i class="fa fa-file-code-o"></i></span>
<select class="form-control" id="type" name="typeSelection">
<option>--Select type--</option>
<option>Business</option>
<option>Company</option>
<option>Personal</option>
<option>Online Shopping</option>
<option>Other</option>
</select>
</div>
</div>
</div>
对于规则:
$rules = [
'typeSelection' => 'required|not_in:0'
];
not_in:0
避免提交的首选女巫是--Select type--
选择类型--Select type--
:)
以及相关信息传递给验证只使用$request->all()
因为它会使用字段name
在这种情况下typeSelection
不需要ctreating新阵!
这将完美地工作。
$rules = [
'selType' => 'required|in:Business,Company,Personal,Online Shopping,Others'
];
您需要使用required
验证您的选择,为此您需要设置选择,例如:
选择刀片:
<select class="form-control" id="type" name="selType">
<option value="">Select Type</option>
<option value="Business">Business</option>
<option value="Company">Company</option>
<option value="Personal">Personal</option>
<option value="Online Shopping">Online Shopping</option>
<option value="Other">Other</option>
</select>
某处的验证规则:
$rules = [
'selType' => 'required'
];
在Laravel 8 中,我使用它,我发现如果您通过检查元素将值更改为其他值, “是的,我知道这听起来很时髦”仍然可以插入验证器并通过。 这是解决方案
选择:
<select class="form-control" id="type" name="Business_Type">
<option value="">Select Type</option>
<option value="Business">Business</option>
<option value="Company">Company</option>
<option value="Personal">Personal</option>
<option value="Online Shopping">Online Shopping</option>
<option value="Other">Other</option></select>
验证器:
$this->validate($request, [
'selType' => 'required|in:Business,Company,Personal,Online Shopping,Others'
]);
只需输入验证器必须通过的值,其他所有值都不会通过
如果您想检查所选值是否存在于您的表列中,您可以像此示例一样检查它
<select class="form-control" id="type" name="Business_Type">
<option value="">Select Type</option>
<option value="Business">Business</option>
<option value="Company">Company</option>
<option value="Personal">Personal</option>
<option value="Online Shopping">Online Shopping</option>
<option value="Other">Other</option>
</select>
对于以上选择
'Business_Type' => 'required|my_business ,type'
这将确保所选值存在于例如 my_business 表中的 type 列中。 如果您选择第一个选项,它将返回错误
The selected type is invalid.
你应该在每个选项中输入 Value 第一个应该是
值=""
其余的人把他们的价值观像这样
<option value="">Select Type</option>
<option value="Business">Business</option>
<option value="Company">Company</option>
<option value="Personal">Personal</option>
<option value="Online Shopping">Online Shopping</option>
<option value="Other">Other</option>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.