使用Symfony3.4的表单验证器来限制输入框输入数字的大小。下面是一个例子:
use Symfony\Component\Validator\Constraints as Assert;
class MyFormType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('myNumber', IntegerType::class, [
'constraints' => [
new Assert\NotBlank(),
new Assert\Range([
'min' => 0,
'max' => 100,
'minMessage' => 'The minimum value is {{ limit }}',
'maxMessage' => 'The maximum value is {{ limit }}',
]),
],
]);
}
}
在上面的代码中,我们使用了Symfony的Range验证器来限制输入框输入数字的大小。min和max选项指定了允许的最小值和最大值。minMessage和maxMessage选项指定了验证失败时的错误消息。
在控制器中处理表单
public function myAction(Request $request)
{
$form = $this->createForm(MyFormType::class);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
// 处理表单数据
}
return $this->render('my_template.html.twig', [
'form' => $form->createView(),
]);
}
在上面的代码中,我们使用了handleRequest()方法来处理表单提交,并使用isValid()方法来验证表单数据是否有效。如果表单数据有效,则可以进行进一步处理。如果表单数据无效,则Symfony会自动显示错误消息。
示例展示了如何在Symfony3.4中使用表单验证器的Range约束,来限制输入字段myNumber接收0到100之间的整数。当输入超出范围时,将显示自定义的错误消息。在控制器中,通过handleRequest和isValid方法处理表单提交和验证。

被折叠的 条评论
为什么被折叠?



