English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

bootstrap Validator: funcionalidades de validação de formulário, Ajax submit e modal

Efeito visual:

Como mostrado na figura, isso é o que o plugin Validator pode fazer, com efeito poderoso e fácil de usar. Recomendo este método, e por fim, apresentarei a forma original de escrita do JavaScript de validação.

Primeiro, importe o plugin:

<link href="<%=basePath %>bootstrap/css/bootstrap-datetimepicker.min.css" rel="external nofollow" rel="stylesheet" media="screen"> 
<script src="<%=basePath %>bootstrap/js/bootstrapValidator.min.js"></script> 
<script src="<%=basePath %>bootstrap/js/bootstrapValidator.zh_CN.js"></script> 
bootstrapvalidator源码:https://github.com/nghuuphuoc/bootstrapvalidator
boostrapvalidator api:http://bv.doc.javake.cn/api/

jsp:

<div class="modal fade" id="myModal_add" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> 
  <div class="modal-dialog" role="document"> 
   <div class="modal-content"> 
    <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal" aria-label="Fechar"><span aria-hidden="true">×</span></button> 
     <h4 class="modal-title" id="myModalLabel_add">Novo</h4> 
    </div> 
    <div class="modal-body" style="height:680px;"> 
      <form id="defaultForm" class="form-horizontal"> 
       <div class="form-grupo"> 
        <label class="col-sm-2 controle-label" for="company_name">nome da empresa</rótulo> 
        <div class="col-sm-4"> 
         <input class="form-control" id="company_name" type="text" placeholder="Por favor, insira o nome da empresa" name="company_name"/> 
        </div> 
        <label class="col-sm-2 controle-label" for="company_id">ID da empresa</rótulo> 
        <div class="col-sm-4"> 
         <input class="form-control" id="company_id" type="text" placeholder="Por favor, insira o ID da empresa" name="company_id"/> 
        </div> 
       </div> 
       <div class="form-grupo"> 
        <label class="col-sm-2 controle-label" for="computer_room">espaço de dados</rótulo> 
        <div class="col-sm-4"> 
         <input class="form-control" id="computer_room" type="text" placeholder="Por favor, insira o espaço de dados"/> 
        </div> 
        <label class="col-sm-2 controle-label" for="cabinet">armário</rótulo> 
        <div class="col-sm-4"> 
         <input class="form-control" id="cabinet" type="text" placeholder="Por favor, insira o armário"/> 
        </div> 
       </div> 
       <div class="form-grupo"> 
        <label class="col-sm-2 controle-label" for="equipment_type">tipo do equipamento</rótulo> 
        <div class="col-sm-4"> 
         <input class="form-control" id="equipment_type" type="text" placeholder="Por favor, insira o tipo do equipamento"/> 
        </div> 
        <label class="col-sm-2 controle-label" for="equipment_name">nome do equipamento</rótulo> 
        <div class="col-sm-4"> 
         <input class="form-control" id="equipment_name" type="text" placeholder="Por favor, insira o nome do equipamento"/> 
        </div> 
       </div> 
       <div class="form-grupo"> 
        <label class="col-sm-2 controle-label" for="equipment_ip">endereço IP do equipamento</rótulo> 
        <div class="col-sm-4"> 
         <input class="form-controle" id="equipment_ip" type="text" placeholder="Por favor, insira o ip do equipamento" name="equipment_ip" /> 
        </div> 
        <label class="col-sm-2 controle-rótulo" for="equipment_brand">Marca do equipamento</rótulo> 
        <div class="col-sm-4"> 
         <input class="form-controle" id="equipment_brand" type="text" placeholder="Por favor, insira a marca do equipamento"/> 
        </div> 
       </div> 
       <div class="form-grupo"> 
        <label class="col-sm-2 controle-rótulo" for="equipment_model">Modelo do equipamento</rótulo> 
        <div class="col-sm-4"> 
         <input class="form-controle" id="equipment_model" type="text" placeholder="Por favor, insira o modelo do equipamento"/> 
        </div> 
        <label class="col-sm-2 controle-rótulo" for="shelf_position">Posição de上架</rótulo> 
        <div class="col-sm-4"> 
         <input class="form-controle" id="shelf_position" type="text" placeholder="Por favor, insira a posição de上架"/> 
        </div> 
       </div> 
       <div class="form-grupo"> 
        <label class="col-sm-2 controle-rótulo" for="equipment_sn">Número de série do equipamento</rótulo> 
        <div class="col-sm-4"> 
         <input class="form-controle" id="equipment_sn" type="text" placeholder="Por favor, insira o número de série do equipamento"/> 
        </div> 
        <label class="col-sm-2 controle-rótulo" for="equipment_pn">Número de série do equipamento</rótulo> 
        <div class="col-sm-4"> 
         <input class="form-controle" id="equipment_pn" type="text" placeholder="Por favor, insira o número de série do equipamento"/> 
        </div> 
       </div> 
      </form> 
      </div> 
     <div class="modol-rodapé" id="button_sub"> 
      <button type="reset" id="btn_reset" class="btn btn-default"><span class="glyphicon glyphicon-repeat" aria-hidden="true"></span>Reset</button> 
      <button type="button" id="" name="submit" class="btn btn-enviar_revisão"><span class="glyphicon glyphicon-floppy-disk" aria-hidden="true"></span>Submeter revisão</button> 
     </div> 
   </div> 
  </div> 
 </div>

Aqui não estou usando a validação de envio de formulário, e cliquei no botão, submissão Ajax, note isso.

js:

$(function(){/* Carregamento do documento, execução de uma função*/ 
// $(".submit_review").attr({"disabled":"disabled"}); 
 $('#defaultForm').bootstrapValidator({ 
    message: 'Este valor não é válido', 
    feedbackIcons: {/*Estilos de imagens de exibição para diferentes estados de caixa de entrada*/ 
     valid: 'glyphicon glyphicon-ok', 
     invalid: 'glyphicon glyphicon-remove', 
     validating: 'glyphicon glyphicon-refresh' 
    }, 
    fields: {/*verificação*/ 
     company_name: {/*Os nomes das chaves username e input name correspondem*/ 
      validators: { 
       notEmpty: {/*dica de não estar vazio*/ 
        message: 'O nome da empresa não pode estar vazio' 
       }, 
//       stringLength: {/*dica de comprimento*/ 
//        min: 6, 
//        max: 30, 
//        message: 'O nome de usuário está em'6até3entre 0 
//       }/*O último não tem vírgula*/ 
      } 
     }, 
     company_id: { 
      validators: { 
       notEmpty: { 
        message: 'O ID da empresa não pode estar vazio' 
       }, 
      } 
     }, 
     equipment_ip: { 
      validators: { 
       notEmpty: { 
        message: 'O IP do dispositivo não pode estar vazio' 
       }, 
       regexp: { 
        regexp: /^(\d{1,2|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2|1\d\d|2[0-4]\d|25[0-5])$/, 
        message: 'O IP do dispositivo não é válido' 
         } 
      } 
     }, 
    } 
  }) 
 }); 
$("#btn_reset").click(function(event) { 
  /* Act on the event */ 
  $('#defaultForm').data('bootstrapValidator').resetForm(true); 
 }); 
 $("body").on('click', '#btn_submit_add', function(event) { 
  /* Act on the event */ 
  $('#defaultForm').bootstrapValidator('validate'); 
  var flag = $("#defaultForm").data('bootstrapValidator').isValid(); 
  if (!flag) { 
   toastr.error("There are errors in the input, please fill in again!"); 
  } else { 
   $.post('addEquipmentInfoCheck.action', { 
    "equipmentInfoCheck.companyId": $("#company_id").val(), 
    "equipmentInfoCheck.companyName": $("#company_name").val(), 
    "equipmentInfoCheck.machineRoom": $("#computer_room").val(), 
    "equipmentInfoCheck.equipmentCabinet": $("#cabinet").val(), 
    "equipmentInfoCheck.deviceType": $("#equipment_type").val(), 
    "equipmentInfoCheck.deviceName": $("#equipment_name").val(), 
    "equipmentInfoCheck.deviceIp": $("#equipment_ip").val(), 
    "equipmentInfoCheck.deviceBrand": $("#equipment_brand").val(), 
    "equipmentInfoCheck.deviceModel": $("#equipment_model").val(), 
    "equipmentInfoCheck.position": $("#shelf_position").val(), 
    "equipmentInfoCheck.deviceSn": $("#equipment_sn").val(), 
    "equipmentInfoCheck.devicePn": $("#equipment_pn").val(), 
    "equipmentInfoCheck.state":1 
   }, function(data, textStatus, xhr) { 
    /*things to do after a successful operation */ 
    if (textStatus == "success") { 
     // e.preventDefault(); 
     $('#defaultForm').data('bootstrapValidator').resetForm(true); 
     $("#myModal_add").modal('hide'); 
     toastr.success("A submissão foi bem-sucedida"); 
    }else{ 
     $("#myModal_add").modal('hide'); 
     toastr.error("A submissão falhou"); 
    } 
   }); 
  } 
 }); 

OK, até aqui, a validação do modal e a submissão estão concluídas~

Aqui está o código de verificação original em js:

$("#equipment_ip").blur(function(){ 
 var reg = /^(\d{1,2|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2|1\d\d|2[0-4]\d|25[0-5])$/ ;  
 var flag=reg.test($(this).val()); 
 if(!flag){ 
 toastr.error("O IP não é válido, por favor, insira novamente"); 
 $(this).val(""); 
 } 
); 

O que foi mencionado acima é o que o editor apresentou aos amigos sobre as funcionalidades de validação de modal do bootstrap Validator, jsp, validação de formulário Ajax e submissão. Espero que ajude a todos. Se você tiver alguma dúvida, por favor, deixe um comentário, o editor responderá a todos a tempo. Agradecemos também o apoio da comunidade ao site Tutorial Yell.

Declaração: O conteúdo deste artigo é proveniente da Internet, pertence ao respectivo proprietário, é contribuído e carregado voluntariamente pelos usuários da Internet, o site não possui direitos de propriedade, não foi editado manualmente e não assume responsabilidade legal relevante. Se você encontrar conteúdo suspeito de violação de direitos autorais, por favor, envie um e-mail para: notice#oldtoolbag.com (ao enviar e-mail, substitua # por @ para denunciar e forneça provas relevantes. Em caso de verificação, o site deletará imediatamente o conteúdo suspeito de violação de direitos autorais.)

Você também pode gostar