首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >输入checkValidity和setCustomValidity

输入checkValidity和setCustomValidity
EN

Stack Overflow用户
提问于 2015-11-19 16:00:48
回答 2查看 295关注 0票数 0

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

代码语言:javascript
复制
var inpObj = this.get('name');
if (inpObj.checkValidity() == false) {
    alert('ok');
}

当然这是我的条形码:

代码语言:javascript
复制
{{input id="name" type="text" value=name placeholder="Your Name" required="true"}}

在提交此文件时,我会收到以下错误消息:

inpObj.checkValidity不是函数

EN

回答 2

Stack Overflow用户

发布于 2015-11-19 16:04:06

您需要获得HTML5元素而不是字符串来调用checkValidity函数。

代码语言:javascript
复制
var inpObj = this.get('name'); // this is only a string

您可以使用jQuery代替:

代码语言:javascript
复制
var inpObj = Ember.$('#name')[0];

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

工作演示。

票数 0
EN

Stack Overflow用户

发布于 2015-11-19 19:13:35

如果要避免jQuery,可以在提交按钮上设置一个操作,为您运行有效的检查。

代码语言:javascript
复制
<button {{action "submitForm"}}>Your Button</button>

然后在你的contoller里做一个动作:

代码语言:javascript
复制
actions: {
  submitForm() {
    var inpObj = this.get('name');
    if(!inpObj.checkValidity()) {
      // error handling
      alert('ok');
    } else {
      // save your data, or whatever you need to do
      this.transitionTo('some.route');
    }
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33808709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档