You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CodeIgniter表单结合UIKit实现动态验证:添加uk-form-danger类

在CodeIgniter中为UIKit输入框动态添加验证错误类

嘿,我来帮你搞定这个问题~首先得调整一下你控制器里的逻辑,然后在视图里动态判断字段是否有验证错误,这样就能自动给输入框加上uk-form-danger类了。

第一步:修正控制器的验证逻辑

你原来的die()会直接终止脚本,没法返回表单视图显示错误,得改成加载表单视图:

if ($this->form_validation->run() == FALSE) {
    // 验证失败,加载表单视图,CodeIgniter会自动把错误信息传递到视图
    $this->load->view('你的表单视图文件名');
} else {
    // 验证通过,处理你的业务逻辑(比如保存数据、跳转页面等)
}

第二步:在视图中动态生成输入框的class

利用CodeIgniter自带的form_error()函数,判断对应字段是否有验证错误,如果有就追加uk-form-danger类,同时用set_value()保留用户之前输入的内容(提升体验):

<input class="uk-input <?php echo form_error('username') ? 'uk-form-danger' : ''; ?>" 
       name="username" 
       placeholder="Username" 
       type="text" 
       value="<?php echo set_value('username'); ?>">

补充:显示错误提示(可选)

如果需要在输入框下方显示具体的错误提示,直接在输入框后面加上:

<?php echo form_error('username'); ?>

多字段的通用写法

如果有多个需要验证的字段(比如密码),逻辑是一样的,复制修改字段名就行:

<input class="uk-input <?php echo form_error('password') ? 'uk-form-danger' : ''; ?>" 
       name="password" 
       placeholder="Password" 
       type="password">
<?php echo form_error('password'); ?>

这样一来,当表单验证不通过时,对应字段的输入框就会自动加上uk-form-danger类,符合UIKit的错误样式要求啦~

内容的提问来源于stack exchange,提问作者Rangka Kacang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:58:31