0

好的,这可能有一个非常简单的答案,但对于我的生活,我似乎找不到答案!我正在将用户从文本注册到熄灯框 (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;
4

1 回答 1

1

在你的ctp文件中

$('form').on('submit', function(e) {
    e.preventDefault();
    $.post($(this).attr('action'), $(this).serialize(), function(res) {
        $('form').replaceWith(res);
    })
})

可用于使用上述脚本验证数据,

我认为这将帮助您通过 ajax 提交表单,您还可以使用来自ajax.

希望这会帮助你。

于 2013-09-25T13:10:35.093 回答