我正在使用Symfony 1.4,並且對錶單驗證有點困惑。我有一個驗證,如下所示:symfony表單驗證與正則表達式使用正則表達式驗證之前
$this->setValidator('mobile_number', new sfValidatorAnd(array(
new sfValidatorString(array('max_length' => 13)),
new sfValidatorRegex(array('pattern' => '/^07\d{9}$/'),
array('invalid' => 'Invalid mobile number.')),
)
));
這是一個簡單的正則表達式匹配英國手機號碼。
但是我的問題是,如果有人提交了這樣一個字符串:「07 90 44 65 48 1」,則正則表達式會失敗,但是如果字符串被清除以便首先刪除空格,則它們會給出一個有效數字。
我的問題是,我不知道在symfony表單框架內的什麼地方我會做到這一點。
我需要從用戶輸入中除去所有數字,然後使用我的mobile_number驗證器。
任何想法將不勝感激。謝謝。
是的我需要在驗證之前的清洗步驟,清洗的實際正則表達式不是問題,但試圖結合清洗和驗證會變得更加棘手! – Del 2010-09-21 12:14:33