问题
我在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;被错误分配,但我不知道正确的方法。
任何协助指导我完成这些验证都将不胜感激。
此致
答案 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" } })