我想验证URL的表单字段。我已将该字段的默认值设置为http://。当用户未输入URL并离开http://时,它说的URL无效。不需要URL,因此,如果仅是http://,则不应显示错误消息。如果该人提交http://为URL,我该如何忽略它?

谢谢

有帮助吗?

解决方案

http:// 不是有效的URL,因此,如果您想允许它,则有2个选项

  1. 创建一个 自定义验证规则, ,对于真实的URL +返回 http://
  2. 使用 在验证回调之前 并将URL字段设置为空白 http://

希望有帮助

编辑

我忘了:您不需要设置需要 'allowEmpty' => true

必需的 - >表格必须包含发送到服务器的字段XYZ

允许- >字段可能是空白的


我在上面的回调函数上添加了链接,但是无论如何。这是:

在您的模型课中(我只是想是 User):

class User extends AppModel {
    ..

    function beforeValidate() {
        if (isset($this->data['User']['url']) && $this->data['User']['url'] == 'http://') {
            $this->data['User']['url'] = '';
        }
        return true;
    }
    ..
}

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top