0

我正在使用 Codeigniter 框架来创建我的 Web 应用程序。

我有一个登录表单供用户输入他们的用户名和密码以及一个记住我的复选框。用户提交表单后,它使用 jQuery ajax 提交表单并将发布数据发送到登录控制器提交函数以进行数据检查和操作。运行提交函数后,如果用户已登录,则返回一个 JSON 数组。如果用户成功登录,他/她将被发送到仪表板,如果他们未成功登录,则会显示一条错误消息用户让他们知道出了问题。

我想要的是不会在 php 端传递的验证规则,以便它们显示在相应的输入字段下,就像它在 jQuery 表单验证上一样。我正在运行这两个验证,以防万一有什么东西让我在 jQuery 方面无法理解,而 PHP 捕捉到它并解决了问题。

截至目前,它显示一条消息,说它没有通过验证,但是我在弄清楚如何在用户输入框下显示没有通过的验证规则时遇到了问题。

这是截至目前从 php 返回的 JSON 消息。所以现在它说有一个错误,它让用户知道表单没有验证,并包含错误消息,这是它没有验证的原因。

{"output_status":"Error","output_title":"Form Not Validated","output_message":"The form did not validate successfully!","error_messages":{"username":"This is not have an accepted value!"}}

<div style="display:none"  id="message_container"><button type="button" class="close" data-dismiss="alert">&times;</button></div>
<div class="login_container">
<?php $attributes = array('id' => 'login_form', 'class' => 'form-horizontal'); ?>
<?php echo form_open('login/submit', $attributes); ?>
<div class="form-row row-fluid">
    <div class="spa12">
        <div class="row-fluid">
            <?php $attributes = array('class' => 'form_label span12'); ?>
            <?php echo form_label('Username<span class="icon16 icomoon-icon-user-3 right gray marginR10"></span>', 'username', $attributes); ?>
            <?php $attributes = array('name' => 'username', 'id' => 'username', 'value' => '', 'class' => 'span12 text valid'); ?>
            <?php echo form_input($attributes); ?>
        </div>
    </div>
</div>
<div class="form-row row-fluid">
    <div class="span12">
        <div class="row-fluid">
            <?php $attributes = array('class' => 'form_label span12'); ?>
            <?php echo form_label('Password<span class="icon16 icomoon-icon-locked right gray marginR10"></span><span class="forgot"><a href="#">Forgot your password?</a></span>', 'password', $attributes); ?>
            <?php $attributes = array('name' => 'password', 'id' => 'password', 'value' => '', 'class' => 'span12 password'); ?>
            <?php echo form_password($attributes); ?>
        </div>
    </div>
</div>
<div class="form-row row-fluid">                       
    <div class="span12">
        <div class="row-fluid">
            <div class="form-actions">
                <div class="span12 controls">
                    <input type="checkbox" id="keepLoged" value="Value" class="styled" name="logged" />Keep me logged in
                    <button type="submit" class="btn btn-info right" id="loginBtn">
                        <span class="icon16 icomoon-icon-enter white"></span>
                        Login
                    </button>
                </div>
            </div>
        </div>
    </div> 
</div>
</form>
</div>
4

1 回答 1

1

你可以这样做。在 php 端,验证失败的地方会返回错误消息以及字段名称,然后使用字段名称在 jQuery 中选择并附加错误消息

$(fieldname).append(<span>error</span>);
于 2012-12-20T01:42:46.453 回答