cal*_*mus 14
我会扩展Ember.TextField(或任何你的验证输入类型)并使用带有计算属性的classBinding.以下是示例:http://jsfiddle.net/caligoanimus/7UNRd/
模板:
<script type="text/x-handlebars" >
{{view App.AlphaNumField
placeholder="alpha-numeric data only"
valueBinding="App.alphaNumInput"}}
</script>
Run Code Online (Sandbox Code Playgroud)
应用:
App = Ember.Application.create({
AlphaNumField: Ember.TextField.extend({
isValid: function() {
return /^[a-z0-9]+$/i.test(this.get('value'));
}.property('value'),
classNameBindings: 'isValid:valid:invalid'
})
});
Run Code Online (Sandbox Code Playgroud)