http://stackoverflow.com/questions/11787788/ember-validations-are-not-working-when-start-the-application-on-different-page
by Sylvain MINA
HTML
<script src="https://github.com/downloads/wycats/handlebars.js/handlebars-1.0.0.beta.6.js"></script>
<script src="https://github.com/downloads/emberjs/ember.js/ember-latest.js"></script>
<script src="https://github.com/downloads/sly7-7/try_git/jquery.validate.min.js"></script>
<script type="text/x-handlebars" data-template-name="application">
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="list">
<a {{action gotoRegistration}}>Go to registration</a>
</script>
<script type="text/x-handlebars" data-template-name="registration">
<form class="form-horizontal" id="registerForm">
<fieldset>
<legend>registration</legend>
<div class="control-group">
<label class="control-label" for="user_name">User Name</label>
<div class="controls">
<input type="text" class="input-xlarge" id="user_name" name="user_name"/>
</div>
</div>
<div class="control-group">
<label class="control-label" for="user_email">Email</label>
<div class="controls">
<input type="text" class="input-xlarge" id="user_email" name="user_email" title="Tooltip text"/>
</div>
</div>
<div class="control-group">
<label class="control-label" for="password">Password</label>
<div class="controls">
<input type="password" class="input-xlarge" id="password" name="password" title="Password tooltip"/>
</div>
</div>
<div class="control-group">
<label class="control-label" for="password_confirm">Password Confirmation</label>
<div class="controls">
<input type="password" class="input-xlarge" id="password_confirm"...
JavaScript
App = Ember.Application.create({});
App.ApplicationView = Em.View.extend({
templateName:'application'
});
App.ApplicationController = Em.Controller.extend();
App.ListView = Em.View.extend({
templateName: 'list'
});
App.RegistrationController = Em.Controller.extend();
App.RegistrationView = Em.View.extend({
templateName: 'registration',
didInsertElement: function () {
//this.$("#registerForm input").tipsy({gravity: 'e'});
// Validation
this.$("#registerForm").validate({
rules : {
user_name : "required",
user_email : {
required : true,
email : true
},
password : {
required : true,
minlength : 6
},
password_confirm : {
required : true,
equalTo : "#password"
}
},
errorClass : "help-inline",
errorElement : "span",
highlight : function(element, errorClass, validClass) {
debugger;
$(element).parents('.control-group').removeClass('success');
$(element).parents('.control-group').addClass('error');
},
unhighlight : function(element, errorClass, validClass) {
debugger;
$(element).parents('.control-group').removeClass('error');
$(element).parents('.control-group').addClass('success');
}
});
}
});
App.Router = Em.Router.extend({
enableLogging: true,
location: 'hash',
root: Em.Route.extend({
// EVENTS
gotoList: Ember.Route.transitionTo('list'),
gotoAbout: Ember.Route.transitionTo('about'),
gotoPost: Ember.Route.transitionTo('post'),
gotoRegistration: Ember.Route.transitionTo('registration'),
// STATES
index: Em.Route.extend({
route: '/',
redirectsTo: 'list'
}),
list: Em.Route.extend({
route: '/list',
connectOutlets: function(router, context) {
...