0

いくつかのフィールドが動的に生成されるフォームがあります。

<table class="insideform">
                            <tr>
                                <td>
                                <script>
                                    $(document).ready(function() {
                                        $('#addrange').click(function(){
                                            var value = '<tr><td><input type="number" size="10" id="from" name="from[]" value=""></td>';
                                                value += '<td><input type="text" size="10" id="to" name="to[]" value=""></td>';
                                                value += '<td><input type="text" id="disprice" name="disprice[]" /></td>';
                                                value += '<td valign="middle" id="removerange">x</td>';
                                                value += '<td id="to_err" class="err"></td></tr>';

                                            $('.discounttable').append(value);
                                        });

                                        $('body').on("click","#removerange",function(){
                                            $(this).parent().remove();
                                        });

                                        $('#maxqty').change(function(){
                                            var value = $('#maxqty').val() + " Above";
                                            $('#maxabove').text(value);
                                        });

                                    });
                                </script>
                                    <table class="discounttable">
                                        <tr>
                                            <th>From</th>
                                            <th>To</th>
                                            <th>Price</th>
                                        </tr>
                                        <tr>
                                            <td colspan="2" align="right"><span id="maxabove">10 Above</span></td>
                                            <td><input type="text" name="maxaboveinput" id="maxaboveinput" /></td>
                                            <td id="maxaboveinput_err" class="err"></td>
                                        </tr>
                                        <tr>
                                            <td><input type="text" size="10" id="from" name="from[]" value=""></td>
                                            <td><input type="text" size="10" id="to" name="to[]" value=""></td>
                                            <td><input type="text" /></td>
                                            <td valign="middle" id="removerange">x</td>
                                            <td id="to_err" class="err"></td>
                                        </tr>
                                    </table> <input type="button" name="addrange" id="addrange" value="Add Row"/>

codeignitor のすべての to[]、from[] フィールドを検証したいので、ajax 呼び出しを使用してフォームを検証します。コードは次のとおりです。

$('#submit').click(function(){
        console.log($("#form").serialize());
        $.ajax({
                url:'<?php echo base_url(); ?>index.php/placeorder/valids',
                type:'POST',
                data:$("#form").serialize()
                }).done(function(data){
                    $("#validations").html(data);});

私はコントローラにこのコードを書き込もうとしました:

$this->load->helper(array('form', 'url'));
 $this->load->library('form_validation');
 $this->form_validation->set_message('%s required', '*required');



 $this->form_validation->set_rules('to[]', 'To field', 'required|xss_clean');
$this->form_validation->set_rules('from[]', 'From field', 'required|xss_clean');

 $errors = array();

 if ($this->form_validation->run() == FALSE)
    {
        echo validation_errors();

    }

それは私のフィールドを検証しません...そして、validation_errorsは、jsonに解析してjsonコードをエコーし​​ようとしたことを何も示しません...「to」と「from」はjsonで空を示します。誰でも助けることができますか?

4

1 に答える 1