0

Я использую formValidation для проверки Bootstrap форм в моем ASP.NETMVC приложение. Я использовал этот плагин, так как он назывался bootstrapValidator и никогда не встречал трудностей. Теперь я пытаюсь приручить версию 0.6.2 и не могу заставить ее проверять правильность полей.Плагин FormValidation не подтверждает форму

Я следующие сценарии в нижней части страницы:

<script src="/Scripts/jquery-1.11.2.js"></script> 
<script src="/Scripts/jquery.unobtrusive-ajax.js"></script> 
<script src="/Scripts/jquery.form.js"></script> 
<script src="/Scripts/bootstrap.js"></script> 
<script src="/Scripts/formValidation/formValidation.js"></script> 

Ниже я разместил мою модальность:

<div aria-hidden="true" aria-labelledby="modalBox_label" role="dialog" tabindex="-1" id="modalBox" class="modal fade"></div> 

У меня есть частичный вид, чтобы заполнить свою модальность с на действия пользователя. Самая важная часть я полагаю, есть форма:

@using (Html.BeginForm("SomeAction", "SomeController", new { area = "SomeArea", divModal = divModal, divTarget = divTarget }, FormMethod.Post, new 
{ 
    id = modalForm, 
    @role = "form", 
    @class = "form", 
    @data_divTarget = "#" + divTarget 
})) 
{ 
    @Html.AntiForgeryToken() 
    @Html.HiddenFor(m => m.Id) 
    <div class="modal-body form-horizontal"> 
     <div class="form-group"> 
      @Html.LabelFor(m => m.Name, new { @class = "control-label col-sm-3" }) 
      <div class="col-sm-5"> 
       @Html.TextBoxFor(m => m.Name, new { @data_fv_notempty_message="You must enter name", @data_fv_notempty="True", @class="form-control", placeholder="Enter name" }) 
      </div> 
     </div> 
    </div> 
    <div class="modal-footer"> 
     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
     <input type="submit" value="Submit form" class="btn btn-primary" /> 
    </div> 
} 

И когда частичный вид загружен, сгенерированный код выглядит следующим образом:

<div aria-hidden="false" aria-labelledby="modalBox_label" role="dialog" tabindex="-1" id="modalBox" class="modal fade in" style="display: block;"> 
<div class="modal-dialog"> 
    <div class="modal-content"> 
     <div class="modal-header"> 
      <button data-dismiss="modal" class="close" type="button" id="modalBox_btnClose"><span aria-hidden="true">×</span><span class="sr-only">Закрыть</span></button> 
      <h4 id="modalBox_label" class="modal-title">Some title</h4> 
     </div> 
     <form role="form" method="post" id="modalBox_form" data-divtarget="#divTarget" class="form fv-form fv-form-bootstrap" action="/SomeController/SomeAction" novalidate="novalidate"> 
      <button type="submit" class="fv-hidden-submit" style="display: none; width: 0px; height: 0px;"></button> 
      <input type="hidden" value="someToken" name="__RequestVerificationToken"> 
      <input type="hidden" value="0" name="Id" id="Id"> 
      <div class="modal-body form-horizontal"> 
       <div class="form-group"> 
        <label for="Name" class="control-label col-sm-3">Name</label> 
        <div class="col-sm-5"> 
         <input type="text" value="" placeholder="Enter name" name="Name" id="Name" data-fv-notempty-message="You must enter name" data-fv-notempty="True" class="form-control"> 
        </div> 
       </div> 
      </div> 
      <div class="modal-footer"> 
       <button data-dismiss="modal" class="btn btn-default" type="button">Close</button> 
       <input type="submit" class="btn btn-primary" value="Submit form"> 
      </div> 
     </form> 
    </div> 
    <div style="display: none; width: 0px; height: 0px;"> 
     <script> 
      $(document).ready(function() { 
       validateModalForm('#modalBox_form'); 
      }); 
     </script> 
    </div> 
</div> 
</div> 

Ooh, крошечный скрипт ниже моей форме! Он используется для вызова formValidation плагина и коды здесь:

function validateModalForm(formId) { 
    $(formId).formValidation({ 
     framework: 'bootstrap', 
     icon: { 
      valid: 'glyphicon glyphicon-ok', 
      invalid: 'glyphicon glyphicon-remove', 
      validating: 'glyphicon glyphicon-refresh' 
     } 
    }).on('success.form.fv', function (e) { 
     alert('Keep calm and do submit'); 
    }); 
} 

При нажатии кнопки отправки, она возвращает предупреждающее сообщение, а затем передает. Я не могу обнаружить проблему. Помогите! :(

+0

он не должен работать в соответствии с текущими сценариями поместить только один bootstrap.js в странице не множественным.. Я видел там несколько путей boostrap.js в части скриптов. –

+0

это два разных сценария: первый (scripts/bootstrap.js) предоставляется «Bootstrap», а второй (скрипты/formvalidation/framework/bootstrap. js) предоставлен 'FormValidation'. [Ссылка] (http://formvalidation.io/getting-started/#including-bootstrap-tab) – niebohr

ответ

0

Хорошо, проблема здесь: data-fv-notempty="True" Значение должно быть написано в нижнем регистре: data-fv-notempty="true"

Смежные вопросы