gpt4 book ai didi

devise - 创建带有实时验证的 Ember 表单的最佳实践是什么?

转载 作者:行者123 更新时间:2023-12-01 14:41:49 25 4
gpt4 key购买 nike

我有一个用 Ember + Handlebars 编写的用户注册表。我对两者都是新手。我想在用户键入时对表单执行实时验证。为此,我需要能够观察变化事件并做出智能响应。

我想我可以在我的 View 中声明一个 email 属性并观察它的变化。然后询问服务器该 email 是否已经存在。

我可以想出几种方法来做到这一点,但看不到明显的赢家。我试过观察整个 View 的变化,但这看起来很笨拙。现在我正在尝试创建一个 new-user 对象并将逻辑存储在其中,但 Ember 想要将其连接回服务器。我在这里有点不知所措。

欢迎任何建议。

这是我现在的观点:

FitMap.JoinView = Ember.View.extend({
templateName: "join",

name: null,
email: null,
password: null,
password_confirmation: null,

submit: function(event, view) {
event.preventDefault();
event.stopPropagation();

$.post("/users", {
name: this.get("name"),
email: this.get("email"),
password: this.get("password"),
password_confirmation: this.get("password_confirmation")
}, function() {
console.log("created");
})
.fail(function(response) {
console.log(response);
});
}
});

最佳答案

我正在使用 jQuery validation这样

FitMap.JoinView = Ember.View.extend({
templateName: "join",
name: null,
email: null,
password: null,
password_confirmation: null,
didInsertElement: function() {
var frm = $("#" + this.elementId);
frm.validate({rules: ...});
},
submit: function(event, view) {
event.preventDefault();
event.stopPropagation();
var frm = $("#" + this.elementId);
if (!frm.valid()) {
console.log("form is not in a valid state");
return false;
}
})
});

jQuery 验证让您可以在规则中定义远程验证,我正在使用它来检查用户名/电子邮件是否已被使用。

关于devise - 创建带有实时验证的 Ember 表单的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18006350/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com