好的,这可能有一个非常简单的答案,但对于我的生活,我似乎无法找到答案!我正在将用户从文本注册到灯光框(SimpleModal),AJAX为管理员加载新页面以将用户注册到选定的客户列表。
只要模型检查正确,这一切都可以完全没有任何问题。我有两个检查,一个确保用户名是唯一的,密码至少有8个字符,代码如下。但是当这些检查中的一个或两个不符合时,用户将被带到AJAX URL,然后显示“消息”。这不是我需要的,我需要将它带回灯箱或将这些信息设置为闪存错误信息,以便打印到屏幕上。
或者我应该从模态中删除这些检查并让JQuery检查它们吗?
有什么想法吗?
所有帮助都非常欢迎.....
模型代码::
public $validate = array(
'username' => array(
'required' => array(
'rule' => array('isUnique'),
'message' => 'Sorry but a unique username is required'
)
),
'password' => array(
'required' => array(
'rule' => array('minLength', '8'),
'message' => 'Sorry but a password of 8 characters or more is required'
)
) ... more check follow but these are the issues....
CTP文件::
$this->layout = 'ajax';
$AddUserForm = $this->Form->create('User', array('url' => '/ADD-USER-URL-HERE'));
$AddUserForm .= $this->Form->input('username');
$AddUserForm .= $this->Form->input('password');
$AddUserForm .= $this->Form->input('role', array('options' => array('admin' => 'Admin', 'user' => 'User')));
$AddUserForm .= $this->Form->input('data_id', array('options' => array($data), 'empty'=>true));
$AddUserForm .= $this->Form->end(__('SAVE NEW USER'));
echo $AddUserForm;
答案 0 :(得分:1)
在ctp
文件中
$('form').on('submit', function(e) {
e.preventDefault();
$.post($(this).attr('action'), $(this).serialize(), function(res) {
$('form').replaceWith(res);
})
})
可用于使用上述脚本验证数据,
我认为这可以帮助您通过ajax提交表单,还可以使用来自ajax
的响应显示错误消息。
希望这会对你有所帮助。