繁体   English   中英

验证 Laravel 中的选择表单

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM