0

问题

我在 MVC C# 中工作,并且我有两个 smartwizard 验证失败的场景。希望我能得到一些帮助。

设想

<div id="step-1">
    <h2><i class="fa fa-address-card-o"></i><u>Information</u></h2>
    <div id="form-step-0" role="form" data-toggle="validator">
    <div class="form-group">
      <input type="text" class="form-control" name="name" id="email" placeholder="Write your name" required>
      <div class="help-block with-errors"></div>
    </div>
</div>

1)现在上面的代码可以正常工作并验证,但是如果我打算格式化我的表单并添加(下面的代码)来制作两行。即使标记为必填的字段为空,表单也会验证并继续下一步。

<div id="form-step-0" role="form" data-toggle="validator">
    <div class="row">
        <div class="col-lg-6">

2)如果我删除 row 和 col 以便它工作,但我将输入类型替换为 this

 <div class="col-lg-10">
   @Html.LabelFor(model => model.middleName, new { @class = "control-label" })
   <div class="col-lg-10">
     @Html.EditorFor(model => model.middleName, new { htmlAttributes = new { @class = "form-control required" } })
     <div class="help-block with-errors"></div>
   </div>
 </div>

验证将再次不起作用,我怀疑这可能是因为“必需”分配错误,但我不知道正确的方法。

任何指导我完成这些验证的帮助将不胜感激。

问候

4

1 回答 1

0

您有表单验证和向导步骤验证问题的组合。

对于问题 #1,智能向导不会验证每个步骤。那是你必须自己编码的东西。onLeaveStep即使您拥有正确的 HTML 语法并看到验证错误,除非您实现回调,否则向导会让用户进入下一步。

对于问题 #2,您有:

@Html.EditorFor(model => model.middleName, new { htmlAttributes = new { @class = "form-control required" } })

required不是 CSS 类,它是一个输入属性。更改您的 Razor 语法以反映这一点。

@Html.EditorFor(model => model.middleName, new { htmlAttributes = new { @class = "form-control", required = "required" } })
于 2018-03-17T22:57:43.213 回答