我正在使用Symfony 3.4,我正在尝试为我的MoneyType应用掩码NumberType字段,
面具的目的是在前面行动:
1)格式化数字(必填):
12000.5 => 12 000.5
1234567.2 => 1 234 567.2
2)禁用非数字字段(可选):
当用户尝试点击某个字符时,输入永远不会改变。
为此,我尝试使用JQuery Libraries,但在提交表单时遇到问题,后端认为输入不是数字,因此不满足$ form-> isValid()
->add('prixUnit', NumberType::class, array(
"grouping" => true, //works only on show mode not on newAction
'attr' => array(
"class" => "number"
"min" => 0,
"step" => 0.100,
"placeholder" => "0.000",
)
))
$('.number').maskSomeLibrariesJquery();
我正在寻找一个干净的Symfony解决方案来格式化我的字段而不会在后端出现问题。
答案 0 :(得分:0)
尝试this jquery plugin,这是example。使用此插件,您可以选择带小数选项的分隔符,默认为点(“。”),但您可以按空格(“”)更改它。
也可以通过属性配置
<input type="text" data-symbol="R$ " data-thousands="." data-decimal="," />
还有一些提示,如:
.maskMoney('unmasked') 返回一个浮动值(例如:'R $ 1.234,56'=&gt; 1234.56)即可。 PS:如果你只有一个输入字段,你应该使用这种方式.maskMoney('unmasked')[0],因为它总会返回一个数组。
希望它有所帮助!