![](/img/trans.png)
[英]How to Validate Email Address using RegularExpression validator?
[英]How can I use the sfValidatorEmail validator in Symfony to validate a single email field
我有一個包含2個元素的表單,將被提交,然后更新用戶個人資料的一部分。
我不想使用整個生成的表單,並且必須刪除除我需要的兩個字段以外的所有字段。 我只希望能夠創建一個非常簡單的表單來進行更新。
有沒有一種方法可以在對電子郵件字段的返回值執行的操作中利用Symfony的sfValidatorEmail?
由於正則表達式已經在驗證器中編寫,因此我想重用它,但是在提交非符號形式之后,我不知道如何在操作中使用它。
這里有兩種方法-無論如何,您都可以構造一個簡單的表單,該表單從sfForm
/ sfFormSymfony
(不必基於ORM)擴展,僅包含您想要的2個字段。 這樣,您可以使用現有的驗證框架,然后在對所有內容進行驗證以獲取用於配置文件更新的值之后,使用$myForm->getValues()
。
另外,如前所述,您可以在操作中使用sfValidatorEmail
類,如下所示:
$dirtyValue = "broken.email.address"
$v = new sfValidatorEmail();
try
{
$v->clean($dirtyValue);
}
catch (sfValidatorError $e)
{
// Validation failed
}
如果您有許多需要清除的值,則后一種方法會很快導致代碼混亂,並且值得將邏輯放回以常規方式處理的形式。
如果您要提交包含2個元素的表單,則該表單應為編輯和更新結束期間的表單。 Symfony表單是輕量級的,沒有性能上的理由不使用它們。 而是為此目的定制表格:
class ProfileUpdateForm extends ProfileForm
{
public function configure()
{
$this->useFields(array('email', 'other_field'));
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.