emberjs输入checkValidity和setCustomValidity

时间:2015-11-19 16:00:49

标签: javascript ember.js checkvalidity

有没有办法在ember中使用checkValidity()setCustomValidity()?例如,在我提交的控制器中,我有:

var inpObj = this.get('name');
if (inpObj.checkValidity() == false) {
    alert('ok');
}

当然这是我的车把代码:

{{input id="name" type="text" value=name placeholder="Your Name" required="true"}}

提交后,我收到以下错误消息:

inpObj.checkValidity不是函数

2 个答案:

答案 0 :(得分:0)

您需要获取HTML5元素而不是字符串才能调用checkValidity函数。

var inpObj = this.get('name'); // this is only a string

您可以改用jQuery:

var inpObj = Ember.$('#name')[0];

if (inpObj.checkValidity() == false) {
  alert('ok');
}

Working demo.

答案 1 :(得分:0)

如果你想避免使用jQuery,你可以在你的提交按钮上设置一个动作,为你运行有效的检查。

var lookup1 = arrayOne.ToLookup(item => item);
var lookup2 = arrayTwo.ToLookup(item => item);
var output = lookup1.SelectMany(i => i.Take(i.Count() - lookup2[i.Key].Count())).ToArray();

然后在你的控制器中有一个动作:

<button {{action "submitForm"}}>Your Button</button>