URLを検証するにはどうすればよいですが、http://または空白の場合は無視しますか?
-
24-10-2019 - |
質問
URLのフォームフィールドを検証したいです。フィールドのデフォルトをhttp://に設定しました。ユーザーがURLを入力せず、http://を離れると、無効なURLと表示されます。 URLは必須ではないため、http://のみである場合、エラーメッセージを表示しないでください。その人がhttp://をURLとして提出する場合、どうすればそれを無視できますか?
ありがとう
解決
http:// 有効なURLではないので、とにかく許可したい場合は2つのオプションがあります
- aを作成します カスタム検証ルール, 、それは実際のURL +に当てはまります http://
- 使用 コールバックを検証する前に 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;
}
..
}
所属していません StackOverflow