В следующем коде, который проверяет, что это имя пользователя имеет значение и совпадают пароли, ни обратный вызов onSuccess, ни обратный вызов onFailure никогда не запускаются, даже если правила проверки выполняются / применяются. Я тестировал все остальные части этого независимо, и этот макет в точности соответствует документации, поэтому я исключил синтаксические ошибки. В дополнение к синтаксису, используемому ниже, я также попробовал формат $ (). Form (). OnSuccess (). OnFailure (), но получил ошибку «Uncaught TypeError: onSuccess не является функцией». Скрипка здесь: Семантический интерфейс onSuccess, пример обратного вызова onFailure.
$(function(){
$('#main')
.form({
on: 'blur',
fields: {
username: {
identifier : 'username',
rules: [
{
type : 'empty'
}
]
},
password1: {
identifier : 'password1',
rules: [
{
type : 'match[password2]',
prompt : 'Please enter the same value in both fields'
}
]
},
password2: {
identifier : 'password2',
rules: [
{
type : 'match[password1]',
prompt : 'Please enter the same value in both fields'
}
]
}
},
onSuccess: function() {
$(".ui.button[name='account']").removeClass('disabled');
console.log('Success');
},
onFailure: function() {
$(".ui.button[name='account']").addClass('disabled');
console.log('Failure');
}
}
);
});