Показать сообщение отдельно
  #1 (permalink)  
Старый 27.03.2015, 10:52
Аспирант
Отправить личное сообщение для Влад_имир Посмотреть профиль Найти все сообщения от Влад_имир
 
Регистрация: 03.03.2015
Сообщений: 44

Валидация работает, но форма отправляется.
Всем здравствуйте.
Как отменить отправку формы , если валидация не пройдена? У меня форма отсылается в любом случае.
Ниже часть индексного файла
<link rel="stylesheet" type="text/css" href="style.css" />
    <script type="text/javascript" src="js/jquery-1.5.2.min.js"></script>
    <script type="text/javascript" src="js/jquery.validate.min.js"></script>
	<script type="text/javascript" src="js/myscripts.js"></script> 
	<script src="http://jqueryvalidation.org/files/dist/additional-methods.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
    $("#formdata").on("click",function () { //это обработчик нажатия кнопки ОТПРАВИТЬ
       $("#formdata").validate();
        var data = $(this).serialize(); 
        $.ajax({// инициализируем ajax запрос
            type: 'POST', // отправляем в POST формате
            url: 'obrabot.php', // путь до обработчика, у нас он лежит в той же папке
			data: data, // данные для отправки
			cache: false,
			target: '#p1', 
            success: function (data) { 
			if (data ){
				alert ("OKyjyuj");
				$("#p1").text(data);
					}
					else
					{
						alert("no ok");			
					}
						
					}  	
           
			
        });
		return false;
	});
});

</script>


</head>
<body>
<div style="display: flex;">
<p>Введите чило: </p>
<form id="formdata"  method="POST" action='obrabot.php' style="margin: 16px;">

   <input name='int' type='int'  />  <br /><br /><br />
  
<input type='submit' name='Submit' id="submitsend" value='Отправить'  />
 </form>
<p id="p1"></p>

</body>
</html>

Использую jQuery Validation Plugin
Ниже файл myscript.js с правилами и сообщениями
$(document).ready(function(){
	jQuery.validator.addMethod(
    'regexp',
    function(value, element, regexp) {
        var re = new RegExp(regexp);
        return this.optional(element) || re.test(value);
    },
    ""
);
   

    $("#formdata").validate({
	
	rules: {
            int: {
                required: true,
                minlength: 4,
                maxlength: 4,
		number : true,
		regexp: '^[1-9]{1}[0-9]*$'
            }

        },
        messages:{
            int:{
                required: "поле не заполнено или заполнено не верно",
                minlength: "в поле должно быть минимум 4 символа",
                maxlength: "В поле должно быть максимум 4 символа",
		number : "В поле должны быть только цифры",
		regexp: "Число не должно начинаться на ноль!!"
			    
            }
        }
       

    });

});


С английским туго )).

Последний раз редактировалось Влад_имир, 27.03.2015 в 10:58.
Ответить с цитированием