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
相关产品推荐
相关产品推荐

