Проверка формы php codeigniter (число)

Я пытаюсь ввести числовой диапазон от 0 до 20

это код:

<div class=" col-md-9">
<?php
    echo form_input( array(
        "id"            => "artificial_intelligence",
        "name"          => "average_info_av_ia",
        "class"         => "form-control",
        "type"          => "number",
        "placeholder"   => lang( 'artificial_intelligence' ),
        "min"           => "0",
        "max"           => "20"
    ));
?>
</div>

но он разрешает только ввод: 0,1,2,10,11,12,13,14,15,16,17,18,19,20 и когда я нажимаю число от 3 до 9, оно становится 20 как ?

Я собираюсь добавить это как комментарий, а не как ответ, потому что я не уверен, и у меня нет времени проверить это прямо сейчас, но вы можете попробовать изменить «0» и «20» как строки, просто 0 и 20 в виде чисел.

Kevin Van Dyck 10.09.2018 11:35

я сделал, та же проблема

Gaston Aloui 10.09.2018 11:48

Вы можете установить проверку с помощью - greater_than и less_than. Обратитесь (codeigniter.com/userguide3/libraries/form_validation.html)

gauri 10.09.2018 12:15
0
3
198
1

Ответы 1

Если вы хотите использовать диапазон, вы можете использовать диапазон типов ввода, как показано ниже,

"type" => "range",   

Или, если вы все равно используете номер типа ввода, вам нужно проверить значения с помощью javascript, чтобы убедиться, что оно находится между От 1 до 20. См. Ниже код

<div class=" col-md-12">
<?php
  echo form_input( array(
    "id"            => "artificial_intelligence",
    "name"          => "average_info_av_ia",
    "class"         => "form-control",
    "type"          => "number",
    "placeholder"   => lang( 'artificial_intelligence' ),
    "min"           => "0",
    "max"           => "20",
    "onchange"      => "handleChange(this);"
  ));
?>
</div>  
<script>
  function handleChange(input) {
    if (input.value < 0) input.value = 0;
    if (input.value > 20) input.value = 20;
  }
</script>

Другие вопросы по теме