0

こんにちはみんな私は少し問題があります。私の問題は、jquery フォーム検証プラグインを codeigniter と一緒に使用したいということです。今のところ、jquery 検証ルールを使用してフォームを検証できます。必須フィールドの確認、入力の長さの確認、有効なメールの確認など...しかし、データベース内のデータの可用性を確認するために、常にエラーが発生しました。リモート機能を使用しましたが、フォームを検証できません。これが私のコードです。あなたが私を助けてくれることを願っています。

addNewItem.php

  <script type="text/javascript">

 (function($,W,D){

    var JQUERY4U = {};

    JQUERY4U.UTIL =
    {
        setupFormValidation: function()
        {
            $("#login-form").validate({
            rules: {
                name: {
                    required: true,
                    remote: {
                        type: 'post',
                        url: <?php echo site_url('category_model/checkName'); ?>,
                        data: {
                            'name': $('#name').val()
                        },
                        datatype: 'json'
                    }

                },
                description: {
                    required: true
                }
           },
           messages: {
                username: {
                    remote: "Category name already taken!"
                }
                description: "Please provide a description for category!"
           }

        });

    }
}

    //when the dom has loaded setup form validation rules
    $(D).ready(function($) {
        JQUERY4U.UTIL.setupFormValidation();
    });

})(jQuery, window, document);

</script>

 <div>
  <?php $attr = array('class'=>'form-signin','id'=>'login-form','novalidate'=>'novalidate'); ?>
  <?php echo form_open('category_controller/insertItem',$attr); ?>
    <h2 class="form-signin-heading"></h2>
        <h5 style="font-weight: normal;">Category Name:</h5>
        <input type="text" class="input-block-level" placeholder="Category Name" name="name" autofocus="autofocus" value="" required="requried" id="name" />
        <h5 style="font-weight: normal;">Desciption</h5>
        <input type="text" class="input-block-level" placeholder="Description" name="description" value="" required="required" id="description" />
        <br />
        <div align="right">
            <input type="submit" value="OK" class="btn btn-large btn-primary" />
            <input type="button" value="CANCEL" class="btn btn-large btn-primary" name='cancel' />
        </div>
  <?php echo form_close(); ?>

私のモデル (category_model/checkName)

public function checkName(){

    $catname = ucwords($this->input->post('name'));
    $validate = "SELECT COUNT(*) AS valid FROM sales_category WHERE salescatname = '{$catname}'";
    $testvalidate = $this->db->query($validate);
    foreach($testvalidate->result_array() as $row){
        $is_valid = $row['valid'];
    }

    if($is_valid > 0){
        return TRUE;
    }else{
        return FALSE;
    }
}
4

1 に答える 1

0

以下を変更してみてください

public function checkName()

{

   $catname = ucwords($this->input->post('name'));
    $validate = "SELECT COUNT(*) AS valid FROM sales_category 
                  WHERE salescatname = '{$catname}'";
    $testvalidate = $this->db->query($validate);
    foreach($testvalidate->result_array() as $row){
        $is_valid = $row['valid'];
    }

    echo $is_valid;

}

于 2013-07-22T07:16:19.347 に答える