我创建了一个表单,其中提交的金额类似
<label for="amt"<?php validateField( "amt", $Fieldsmissing ) ?>>Amt *</label>
<input type="number" name="amt" id="amt" min="1" value="<?php setValue( "amt" ) ?>" />
在表单的顶部,条件类似
function setValue( $fieldName ) { if ( isset( $_POST[$fieldName] ) && $_POST[$fieldName] > 0 ) { echo $_POST[$fieldName]; } }
提交后,如果我输入了0,它会显示错误,但如果我输入00或任何"-"符号或任何字母而不是0,它不会验证。
正如我所知,号码类型在Mozila、IE中有一个错误,但它在Chrome中运行良好,因为Chrome不接受任何低于1的输入。我想要的是,我想设置从0.1到最大正数(即99999(的输入值。除此之外,如果它输入任何其他内容,它将显示错误。谁能告诉我什么条件最适合我的状态吗。谢谢
这里给出了完整的源代码以供您理解,如果您能看看这里的
查看这些函数:
- intval:返回var的整数值,使用指定的基数进行转换(默认值为基数10(。不应在对象上使用intval((,因为这样做会发出E_NOTICE级别的错误并返回1
- filter_var:使用指定的筛选器筛选变量。(在您的情况下为
FILTER_VALIDATE_INT
- settype设置变量的类型。(整数(
所以,试试这个:
function setValue($fieldName)
{
if (isset($_POST[$fieldName]))
{
$field = intval($_POST[$fieldname]);
}
// other magic
}