smartwizard未验证的场景

时间:2018-03-17 15:26:13

标签: jquery asp.net-mvc smart-wizard

问题

我在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)如果我删除行和col以使其正常工作,但我将输入类型替换为此

 <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>

验证将再次无效,我怀疑这可能是因为&#34;要求&#34;被错误分配,但我不知道正确的方法。

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

此致

1 个答案:

答案 0 :(得分:0)

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

问题#1,Smart Wizard doesn't validate each step。这是你必须自己编码的东西。即使您拥有正确的HTML语法并看到验证错误,该向导也会让用户转到下一步,除非您实施onLeaveStep回调。

对于问题#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" } })