내 Marionette.js 앱에 Backone.Validation (http://thedersen.com/projects/backbone-validation/) 플러그인을 사용하여 Twitter Bootstrap3 플러그인을 사용하고 있지만 일부 기능을 사용하지 못하는 경우도 있습니다.Marionette.js와 Backbone.Validation 플러그인을 사용하는 방법
UPDATE : 나는이 : 는 하나 (//jsfiddle.net/thedersen/c3kK2/ http://thedersen.com/projects/backbone-validation/#examples와 유사한 예와 _HTTP) Marionette.js 와 Backbone.Validation를 사용하는 방법에 대한 간단한 예제를 제공하시기 바랍니다 수 있습니다 장소에서 코딩을 한 후 양식이 제출되면 유효성 검사가 시작될 것이라고 예상했지만 불행히도 아무 일도 일어나지 않고 오류도 없습니다. (글로벌) 내 app.js에 는
//Backbone.Validation
Backbone.Validation.configure({
forceUpdate: true
});
_.extend(Backbone.Validation.callbacks, {
valid: function (view, attr, selector) {
var $el = view.$('[name=' + attr + ']'),
$group = $el.closest('.form-group');
$group.removeClass('has-error');
$group.find('.help-block').html('').addClass('hidden');
},
invalid: function (view, attr, error, selector) {
var $el = view.$('[name=' + attr + ']'),
$group = $el.closest('.form-group');
$group.addClass('has-error');
$group.find('.help-block').html(error).removeClass('hidden');
}
});
내 템플릿은 다음과 같습니다
이Entities.User = Backbone.Model.extend({
urlRoot: "signup",
defaults: {
},
idAttribute: "_id",
validation: {
email: {
required: true,
pattern: 'email'
},
password: {
minLength: 8
}
},
validate:true
});
내보기는 다음과 같습니다
<script id="signup-form" type='text/template'>
<form class="form-signin control-group">
<table>
<tr><th><h2 class="form-signin-heading">Please sign up</h2></th></tr>
<tr><td><input type="text" class="form-control" name="username" placeholder="Email address"></td></tr>
<tr><td><input type="password" class="form-control" name="password" placeholder="Password"></td></tr>
<tr><td><button class="btn btn-success form-control js-submit">Sign up</button></td></tr>
</table>
</form>
내 모델은 다음과 같습니다 이
Show.SignupPanel = Marionette.ItemView.extend({
template: "#signup-form",
events: {
'click button.js-submit': 'signupClicked'
},
signupClicked: function (e) {
//stop the default action of <a> tag and page refresh
e.preventDefault();
var data = Backbone.Syphon.serialize(this);
if(this.model.isValid(true))
this.trigger("form:submit", data);
},
initialize: function() {
// This hooks up the validation
// See: http://thedersen.com/projects/backbone-validation/#using-form-model-validation/validation-binding
Backbone.Validation.bind(this);
},
remove: function() {
// Remove the validation binding
// See: http://thedersen.com/projects/backbone-validation/#using-form-model-validation/unbinding
Backbone.Validation.unbind(this);
return Backbone.View.prototype.remove.apply(this, arguments);
}
});
구체적인 문제가 무엇인가 도움이되었다 희망? – Blacksonic