shu*_*van 2 php mysql symfony doctrine-orm
我有表格现场电话的Symfony 2.6和个人信息表格,如rhis
+38 (918) 280-1594
Run Code Online (Sandbox Code Playgroud)
如果开发人员写"_"或更多数字,空格.我如何检查这个?喜欢开发者写
+38 (918) 2 801_594
Run Code Online (Sandbox Code Playgroud)
我在DB中设置了
+38(918)2801594
Run Code Online (Sandbox Code Playgroud)
解决这个问题的流程和决策或捆绑包是什么?
->add('telephone', null, array('label' => 'Telephone', 'max_length' => 255, 'required' => false));
$builder->get('telephone')->addModelTransformer(new CallbackTransformer(
// transform <br/> to \n so the textarea reads easier
function ($originalDescription) {
return preg_replace('/[^0-9()]+/', "", $originalDescription);
},
function ($submittedDescription) {
// remove most HTML tags (but not br,p)
$cleaned = strip_tags($submittedDescription, '<br><br/><p>');
// transform any \n to real <br/>
return str_replace("\n", '<br/>', $cleaned);
}
));
Run Code Online (Sandbox Code Playgroud)
但它是如何工作的?我写了电话65454 ###而这个"#"写在我的数据库中这是错的.为什么我不明白?我需要确定位数(12位数).也许请举例.
我发布了+30632666 $$#并在DB中设置了这个+30632666 $$#但是在形式上可见这个30632666这正是我需要在我的数据库中,我需要在数据库中设置正确的电话并限制13个字符 - 一个"+"和12个 - 数字
安装MisdPhoneNumberBundle后,您可以使用bundle的验证器:
use Doctrine\ORM\Mapping as ORM;
use Misd\PhoneNumberBundle\Validator\Constraints as MisdAssert;
/**
* @ORM\Entity
* @ORM\Table
*/
class Entity
{
// ...
/**
* @ORM\Column(type="string", length=50)
* @MisdAssert\PhoneNumber()
*/
private $phone;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9321 次 |
最近记录: |