Yii 框架中使用 ajax 的用户名可用性
场景是我的 Yii 项目中有一个表单,它将接受用户名作为输入,并向用户发送一封包含激活链接的邮件(如果他没有收到邮件)。表单名称是 ResendActivationLinkForm,它扩展了 CFormModel 类。现在在提交时我想使用 AJAX 检查用户名是否存在于数据库中...如何使用 yii 自己的类和函数来完成此操作?
the scenario is i have a form in my Yii project that will take the username as input and sends the user a mail containing activation link if he has not received one. the form name is ResendActivationLinkForm which extends the CFormModel class. now at the submission time i wanna check if the username exists or not in the database using AJAX...How to use yii's own classes and functions to accomplish that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
好吧,谢谢您的回复..但我以更简单的方式得到了它。
我刚刚在表单模型 ResendActivationLinkForm 中添加了一个数组来描述我的规则...例如...
其中 username 是我的 attributeName,exist< /strong> 是 validator 别名,className 是模型类名称,它应该查找其属性...
您可以查看 http://www.yiiframework.com/wiki/56/ 了解更多详细信息。 :) 快乐编码。 :)
well thanks for replies..but i got it in a simpler fashion.
i just added an array inside the form model ResendActivationLinkForm depicting my rule.. eg..
where username is my attributeName, exist is the validator alias and className is the Model class name whose attribute it should look for...
you can look at http://www.yiiframework.com/wiki/56/ for more details. :) Happy Coding. :)
如果 Usermodel 是具有 username 属性的模型,您可以执行类似的操作。
有关各种 CActiveRecord 方法的更多信息,请查看网站
If Usermodel is the model that has a username attribute, you can do something like this.
For more information about the various CActiveRecord methods check the website
我将使用自定义验证器扩展表单模型,例如 array('username','UsernameExistsValidator')。这个验证器类应该扩展 CValidator 并实现公共函数 validateAttribute($object,$attribute) ,它可以使用 $this->addError() 来标记用户名是否不可用。如果您需要更多有关其中位的输入,请参阅其他 Yii 验证器的源代码。
上面答案中的逻辑适合 validateAttribute,
I'd extend the form model with a custom validator, such as array('username','UsernameExistsValidator'). This validator class should extend CValidator and implement public function validateAttribute($object,$attribute) which can use $this->addError() to flag if the username is not available. See the source for other Yii validators if you need some more input on the bits in there.
The logic from the answer above would fit into validateAttribute,