gpt4 book ai didi

php - 表单中的 float 验证

转载 作者:行者123 更新时间:2023-12-04 05:40:43 24 4
gpt4 key购买 nike

我正在尝试使用浮点数验证的表单。
当验证工作时,它不会让我点击提交按钮,并会显示正确的错误消息。

我正在使用 zend 框架 2 并且在我的表单中我想检索酒精量。

我正在尝试使用以下代码:

$this->add($factory->createElement(array(
'name' => 'alcohol_vol',
'attributes' => array(
'label' => 'alcohol vol%:',
'filters' => array('Float'),
'type' => 'text',
'required' => true,
),
)));

这实际上没有任何作用。如果我输入常规文本,它将通过验证。

我还尝试将类型从“文本”更改为“数字”,但它不允许我使用浮点数。它将只允许非浮点数:)

最佳答案

ZF2 中没有“Float”过滤器,我想您可能想要的是“Float”Validator,Float Validator 可以像这样添加到 ZF2 表单中:

$this->add($factory->createElement(array(
'name' => 'alcohol_vol',
'attributes' => array(
'label' => 'alcohol vol%:',
'type' => 'text',
),
)));
$factory = new Zend\InputFilter\Factory();

$this->setInputFilter($factory->createInputFilter(array(
'alcohol_vol' => array(
'name' => 'alcohol_vol',
'required' => true,
'validators' => array(
array(
'name' => 'Float',
),
),
),
)));

然后你应该在 Controller 中验证表单,上面的验证器仍然应该设置为表单。如果 input 不是 float 的,则 input 元素将具有无效消息:
$form->setData($userInputData);
if (!$form->isValid()) {
$inputFilter = $form->getInputFilter();
$invalids = $inputFilter->getInvalidInput();
var_dump($invalids);
// output: 'abc' does not appear to be a float
}

关于php - 表单中的 float 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11274744/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com