Php Symfony电子邮件验证(不使用表单框架)
正如标题所示,我正在寻找一种使用Symfony框架(无需使用表单框架)验证电子邮件(或其他字符串格式)的方法 我做了一些搜索,但给出的每个示例都使用表单类 我知道我可以使用外部类或库,但我只是想知道我是否可以从Symfony内部使用一些有用的东西 像这样的东西很理想:Php Symfony电子邮件验证(不使用表单框架),php,validation,symfony1,symfony-1.4,Php,Validation,Symfony1,Symfony 1.4,正如标题所示,我正在寻找一种使用Symfony框架(无需使用表单框架)验证电子邮件(或其他字符串格式)的方法 我做了一些搜索,但给出的每个示例都使用表单类 我知道我可以使用外部类或库,但我只是想知道我是否可以从Symfony内部使用一些有用的东西 像这样的东西很理想: $email = "email@to.validate"; $validator = new sfEmailValidator(); // just using this as an example - I know it do
$email = "email@to.validate";
$validator = new sfEmailValidator(); // just using this as an example - I know it doesn't work :p
$validator->check($email); // returns true or false if it validates
您应该能够执行以下操作--不需要使用表单框架来使用验证器框架:
$email = 'email@to.validate';
$v = new sfValidatorEmail();
try {
$email = $v->clean($email);
} catch (sfValidatorError $e) {
// email invalid
}
您应该能够执行以下操作--不需要使用表单框架来使用验证器框架:
$email = 'email@to.validate';
$v = new sfValidatorEmail();
try {
$email = $v->clean($email);
} catch (sfValidatorError $e) {
// email invalid
}
我会重新考虑使用电子邮件,它不太准确。改用filter\u var(如果需要,您可以根据filter\u var创建自己的验证器)。我会重新考虑使用sfValidatorEmail,它不太准确。改用filter\u var(如果需要,您可以根据filter\u var创建自己的验证器)。啊,是的,我记得读过这方面的文章。我想我只是想避免在电子邮件验证中使用异常处理。所以我想这是通过Symfony实现的唯一方法…@xil3异常处理有问题吗?!另一种方法是让
sfValidatorEmail
使用正则表达式,并使用preg\u match
:/^([^@\s]+)@((?:[-a-z0-9]+\.+[a-z]{2,})$/i检查您的SLEF,这并没有问题,但如果我正在进行许多不同类型的验证,我是否能够将它们全部粘贴在Try
子句中,并能够区分从返回的sfValidatorError
对象中出错的是哪一个?添加我上次推荐的内容-例如,如果我使用sfValidatorDate
和sfValidatorEmail
。如果这两个都放在try
子句中,那么它们是可以区分的,还是我需要一个try
catch
语句来处理它们。@xil3那么,异常有一个getValidator
方法,它允许您获取失败的验证器的实例。那可能对你有好处。啊,是的,我记得读过这方面的文章。我想我只是想避免在电子邮件验证中使用异常处理。所以我想这是通过Symfony实现的唯一方法…@xil3异常处理有问题吗?!另一种方法是让sfValidatorEmail
使用正则表达式,并使用preg\u match
:/^([^@\s]+)@((?:[-a-z0-9]+\.+[a-z]{2,})$/i检查您的SLEF,这并没有问题,但如果我正在进行许多不同类型的验证,我是否能够将它们全部粘贴在Try
子句中,并能够区分从返回的sfValidatorError
对象中出错的是哪一个?添加我上次推荐的内容-例如,如果我使用sfValidatorDate
和sfValidatorEmail
。如果这两个都放在try
子句中,那么它们是可以区分的,还是我需要一个try
catch
语句来处理它们。@xil3那么,异常有一个getValidator
方法,它允许您获取失败的验证器的实例。那可能对你有用。