0

我创建了一个表格,其中提交的金额就像

<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)。除此之外,如果它输入任何其他内容,它将显示错误。谁能告诉我什么条件最适合我的形式。谢谢。

此处提供完整的源代码以供您理解,如果您查看此处将不胜感激

4

1 回答 1

0

查看这些功能:

  • 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
}
于 2013-03-17T20:59:18.310 回答