2016-02-26 8 views
0

У меня есть эта функция от frmvalidator, которую я использую для сравнения двух полей ввода. Дело в том, что я получил 2 поля, которые требуются, и пользователю нужно заполнить один или оба, но не может оставить два незаполненных входа.Проверка полей формы перед отправкой

Вот мой, что я работал на:

<form id="contact_form" action="contact.php" method="POST"> 
    <label>RFC ** </label> 
    <input class="fiscal-input" type="text" name="rfc" placeholder=""> 
    <label> ó CURP **</label> 
    <input class="fiscal-input" type="text" name="curp" placeholder=""> 
</form> 

frmvalidator.addValidation("curp","regexp=^[A-Z]{1}[AEIOU]{1}[A-Z]{2}[0-9]{2}(0[1-9]|1[0-2])(0[1-9]|1[0-9]|2[0-9]|3[0-1])[HM]{1}(AS|BC|BS|CC|CS|CH|CL|CM|DF|DG|GT|GR|HG|JC|MC|MN|MS|NT|NL|OC|PL|QT|QR|SP|SL|SR|TC|TS|TL|VZ|YN|ZS|NE)[B-DF-HJ-NP-TV-Z]{3}[0-9A-Z]{1}[0-9]{1}$","Por favor ingrese un CURP válido."); 
frmvalidator.addValidation("rfc","regexp=^([A-Z,Ñ,&]{3,4}([0-9]{2})(0[1-9]|1[0-2])(0[1-9]|1[0-9]|2[0-9]|3[0-1])[A-Z|\d]{3})$","Por favor ingrese un CURP válido."); 

Два регулярных выражений просто контролировать ввод быть некоторые буквенно-цифровых знаков. Мне нужна функция javascript, которая позволяет заполнить один или оба, но не содержать их пустым.

Можете ли вы, ребята, руководить мной этим?

ответ

0

Вы можете использовать простую форму представить обработчик, чтобы сделать пользовательскую проверку. Ниже приведен пример кода ниже.

document.getElementById('contact_form').addEventListener('submit', function(e) { 
    var fields = document.querySelectorAll('#contact_form .fiscal-input'); 
    var value = ''; 
    for(var i=0, len = fields.length; i<len; i++) { 
    value = value || fields[i].value; 
    } 
    if(!value) { 
    e.preventDefault(); 
    } 
}); 
0

Это довольно простая проблема проверки, на мой взгляд. Я вызвал функцию проверки при нажатии кнопки отправки. Вы можете альтернативно назвать это onblur.

<form id="contact_form" onsubmit="return validate();" action="contact.php" method="POST"> 

В функции проверки, следующий делается

validate=function(){ 

alert("called"); 
x=document.getElementById("rfc").value; 
y=document.getElementById("curp").value; 
if(x==""&&y=="") 
return false; 
else 
{ 
alert(x); 
alert(y); 
//Call your validation function here 
return true; 
}} 

Вот DEMO

0

Как вы спросили вы хотите проверить поля формы перед тем подчиненной формы вы можете просто сделать следующее

// fires every time this field changes 
$('your_selector_of_element').on('change', function() { 
    $(this).valid();     // force a validation test on this field 
}); 

Это заставит проверки на элемент до того как форма отправлена, и вы получите сообщение проверки ,

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