2016-05-19 4 views
0

, пожалуйста, помогите решить проблему. Я делаю форму с проверкой. после нажатия на кнопку вывода кнопки фраза «Большой успех!» в предупреждающем окнекак проверить каждое поле отдельно?

, но мне нужно после нажатия на кнопку отправки получить результат для определенных полей (имя пользователя и адрес электронной почты) в консоли. моя попытка:

events: { 
    'click #signUpButton': function (e) { 
     e.preventDefault(); 
     this.signUp(); 
    } 
}, 

signUp: function() { 
    var data = this.$el.serializeObject(); 

    this.model.set(data); 

    var modelValid = this.model.isValid(true); 
    console.log('model valid', modelValid); 

    var modelValidUsername = this.model.username.isValid(true); 
    console.log('model username valid', modelValidUsername);   

    var modelValidEmail = this.model.email.isValid(true); 
    console.log('model email valid', modelValidEmail);   

    if(this.model.isValid(true)){ 
     // this.model.save(); 
     alert('Great Success!'); 
    } 
}, 

весь код здесь: http://jsfiddle.net/udXL5/595/

ответ

1

Согласно документации (http://thedersen.com/projects/backbone-validation/#isvalid) isValid также принимает имя атрибута (или массив имен атрибутов) для того, чтобы проверить отдельные поля:

var modelValidUsername = this.model.isValid('username'); 
console.log('model username valid', modelValidUsername);   

var modelValidEmail = this.model.isValid('email'); 
console.log('model email valid', modelValidEmail); 

Рабочая сценария: http://jsfiddle.net/bpxbLbor/