Skip to content

Commit 686575d

Browse files
committed
validationParams (all widgets) +fieldsAs
1 parent 701cf43 commit 686575d

File tree

3 files changed

+39
-6
lines changed

3 files changed

+39
-6
lines changed

Ajax/common/Widget.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,15 @@ protected function runForm(JsUtils $js){
341341

342342
protected function _compileForm(JsUtils $js=NULL,&$view=NULL){
343343
if(isset($this->_form)){
344-
$this->wrapContent("<form class='ui form' id='frm-".$this->identifier."' name='frm-".$this->identifier."'>","</form>");
344+
$noValidate="";
345+
if(\sizeof($this->_form->getValidationParams())>0)
346+
$noValidate="novalidate";
347+
$this->wrapContent("<form class='ui form' id='frm-".$this->identifier."' name='frm-".$this->identifier."' ".$noValidate.">","</form>");
345348
}
346349
}
350+
351+
public function setValidationParams(array $_validationParams) {
352+
$this->getForm()->setValidationParams($_validationParams);
353+
return $this;
354+
}
347355
}

Ajax/semantic/widgets/base/FieldAsTrait.php

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
use Ajax\semantic\html\collections\form\HtmlFormFields;
1616
use Ajax\semantic\html\collections\HtmlMessage;
1717
use Ajax\semantic\html\elements\HtmlButton;
18+
use Ajax\service\JArray;
1819

1920
/**
2021
* @author jc
@@ -201,6 +202,35 @@ public function fieldAsMessage($index,$attributes=NULL){
201202
}, $index,$attributes,"message");
202203
}
203204

205+
/**Change fields type
206+
* @param array $types an array or associative array $type=>$attribute
207+
*/
208+
public function fieldsAs(array $types){
209+
$i=0;
210+
if(JArray::isAssociative($types)){
211+
foreach ($types as $type=>$attributes){
212+
$this->fieldAs($i++,$type,$attributes);
213+
}
214+
}else{
215+
foreach ($types as $type){
216+
$this->fieldAs($i++,$type);
217+
}
218+
}
219+
}
220+
221+
public function fieldAs($index,$type,$attributes=NULL){
222+
$method="fieldAs".\ucfirst($type);
223+
224+
if(\method_exists($this, $method)){
225+
if(!\is_array($attributes)){
226+
$attributes=[$index];
227+
}else{
228+
\array_unshift($attributes, $index);
229+
}
230+
\call_user_func_array([$this,$method], $attributes);
231+
}
232+
}
233+
204234
public function fieldAsSubmit($index,$cssStyle=NULL,$url=NULL,$responseElement=NULL,$attributes=NULL){
205235
return $this->_fieldAs(function($id,$name,$value,$caption) use ($url,$responseElement,$cssStyle){
206236
$button=new HtmlButton($id,$value,$cssStyle);

Ajax/semantic/widgets/dataform/DataForm.php

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -115,11 +115,6 @@ protected function _setToolbarPosition($table, $captions=NULL) {
115115
$this->content[$this->_toolbarPosition]=$this->_toolbar;
116116
}
117117

118-
public function setValidationParams(array $_validationParams) {
119-
$this->getForm()->setValidationParams($_validationParams);
120-
return $this;
121-
}
122-
123118
public function run(JsUtils $js=NULL){
124119
return parent::run($js);
125120
}

0 commit comments

Comments
 (0)