FuelPHP로 폼의 필수 항목에 ※를 붙인다
7655 단어 FuelPHP
Validation 클래스 확장
fuel/app/classes/validation.php
<?php
class Validation extends \Fuel\Core\Validation {
/**
* If $field has 'required' rule, It will return true
*/
public function is_required( $field ) {
$fields = $this->fieldset()->field();
if( isset($fields[$field]) ){
foreach( $fields[$field]->rules as $r ){
if( $r[0] == 'required' ){
return true;
}
}
}
return false;
}
}
fuel/app/bootstrap.php
Autoloader::add_classes(array(
'Validation' => APPPATH.'classes/validation.php',
));
Controller에서 Validation 전달
public function action_create(){
...
$val = Model_Item::validation('create')
if( $val->run() ){
}
$this->template->content = View::forge('item/create',array('val'=>$val));
...
View에서 필드별로 클래스 출력
<div class="form-group<?php echo ($errors && $val->error('title'))?" has-error":""; ?><?php echo ($val->is_required('title'))?' required':'';?>">
<?php echo Form::label(__('model.topic.title'), 'title', array('class'=>'control-label')); ?>
<?php echo Form::input('title', Input::post('title', isset($item) ? $item->title : ''), array('class' => 'form-control', 'placeholder'=>'')); ?>
</div>
CSS로 수정
.form-group.required label:after{
content:'*';
color:#a94442;
font-weight:bold;
display:inline-block;
margin-left:0.5em;
}
결과 샘플
Reference
이 문제에 관하여(FuelPHP로 폼의 필수 항목에 ※를 붙인다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/goosys/items/9c898a912ffc296245a8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)