Цитата:
user_name: "required" и user_email: { required: true не так ли? Не знаю что у вас там за плагин, но если user_email, это поле, которое указывается для проверки, а required: true и прочее, это параметры проверки, значит required, это один из наборов проверки описанный в плагине. Следовательно данный параметр может принимать значения true/false, и т.п. по остальным параметрам. Если component.php, это логика описывающая и компонент, и правила его проверки, а проверка на сервере также обязательна, то это должно быть, типа:
$components = [
'user_name' => [
'type' => 'text',
'label' => 'Ваше имя',
'placeholder' => 'Только русские, 3-12 символов',
'pattern' => '^[а-яёА-ЯЁ]{3,12}$',
'required' => true,
'check' => ['flt'=>FILTER_VALIDATE_REGEXP, 'opt'=>['options'=>['regexp' =>'/^[а-яё]{3,12}$/iu']]],
'error' => 'Сообщение....',
'default' => false,
],
'user_email' => [
//
]
];
что и отдается клиенту как готовый объект, и если не все для плагина, то выборка параметров. Собственно по описанию компонентов должна строится и сама форма. Вряд ли вам по четвергам потребуется проверка поля имени пользователя, а по понедельникам нет, и данные условия в описаниях компонентов постоянно изменяются, а поэтому возникли какие-то "Y". Получается какой-то сумбур - на сервере вроде бы серьезный подход, чего-то там описали, при этом на клиенте в задании параметров плагина: if("Y") .... Как это можно понять? |
рони,
ТЫ ЛУЧШИЙ !! КАК ВСЕГДА ПО СУЩЕСТВУ ! ОГРОМНОЕ СПАСИБО! РАБОТАЕТ. только вот теперь не могу понять как запихать остальной код
messages: {
user_name: "Укажите ваше имя",
user_email: "E-mail имеет неверный формат",
MESSAGE: {
required: "Напишите сообщение",
minlength: "Минимальное количество символов 3"
}
},
errorElement: "em",
errorPlacement: function ( error, element ) {
error.addClass( "error-message" );
if ( element.prop( "type" ) === "checkbox" ) {
error.insertAfter( element.parent( "label" ) );
} else {
error.insertAfter( element );
}
if ( !element.next( "span" )[ 0 ] ) {
$(element).addClass("set-icon");
$( "<span class='glyphicon glyphicon-remove form-control-feedback'></span>" ).insertAfter( element );
}
},
success: function ( label, element ) {
if ( !$( element ).next( "span" )[ 0 ] ) {
$(element).addClass("set-icon");
$( "<span class='glyphicon glyphicon-ok form-control-feedback'></span>" ).insertAfter( $( element ) );
}
},
highlight: function ( element, errorClass, validClass ) {
$( element ).parents( ".input-group" ).addClass( "has-error" ).removeClass( "has-success" );
$( element ).next( "span" ).addClass( "glyphicon-remove" ).removeClass( "glyphicon-ok" );
},
unhighlight: function ( element, errorClass, validClass ) {
$( element ).parents( ".input-group" ).addClass( "has-success" ).removeClass( "has-error" );
$( element ).next( "span" ).addClass( "glyphicon-ok" ).removeClass( "glyphicon-remove" );
}
Изначально было так:
$( "#fm-feedback-form" ).validate( {
rules: {
user_name: "required",
user_email: {
required: true,
email: true
},
MESSAGE: {
required: true,
minlength: 3
}
},
messages: {
user_name: "Укажите ваше имя",
user_email: "E-mail имеет неверный формат",
MESSAGE: {
required: "Напишите сообщение",
minlength: "Минимальное количество символов 3"
}
},
errorElement: "em",
errorPlacement: function ( error, element ) {
error.addClass( "error-message" );
if ( element.prop( "type" ) === "checkbox" ) {
error.insertAfter( element.parent( "label" ) );
} else {
error.insertAfter( element );
}
if ( !element.next( "span" )[ 0 ] ) {
$(element).addClass("set-icon");
$( "<span class='glyphicon glyphicon-remove form-control-feedback'></span>" ).insertAfter( element );
}
},
success: function ( label, element ) {
if ( !$( element ).next( "span" )[ 0 ] ) {
$(element).addClass("set-icon");
$( "<span class='glyphicon glyphicon-ok form-control-feedback'></span>" ).insertAfter( $( element ) );
}
},
highlight: function ( element, errorClass, validClass ) {
$( element ).parents( ".input-group" ).addClass( "has-error" ).removeClass( "has-success" );
$( element ).next( "span" ).addClass( "glyphicon-remove" ).removeClass( "glyphicon-ok" );
},
unhighlight: function ( element, errorClass, validClass ) {
$( element ).parents( ".input-group" ).addClass( "has-success" ).removeClass( "has-error" );
$( element ).next( "span" ).addClass( "glyphicon-ok" ).removeClass( "glyphicon-remove" );
}
});
|
Agapkin,
так добавьте data все остальные ключи без изменений var data = {rules : {}, messages : ... , errorElement: ...}; |
рони,
Класс!!! Еще раз СПАСИБО ! Получилось! То, что надо! |
рони,
Класс!!! Еще раз СПАСИБО ! Получилось! То, что надо! |
| Часовой пояс GMT +3, время: 23:57. |