Skip to content

Commit 23a6cb8

Browse files
committed
Adds _hasRules in DataForm
1 parent d477655 commit 23a6cb8

File tree

4 files changed

+21
-1
lines changed

4 files changed

+21
-1
lines changed

Ajax/common/Widget.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ abstract class Widget extends HtmlDoubleElement {
5252
protected $_form;
5353

5454
protected $_generated;
55+
56+
protected $_hasRules;
57+
5558

5659
public function __construct($identifier,$model,$modelInstance=NULL) {
5760
parent::__construct($identifier);
@@ -478,5 +481,13 @@ public function addToProperty($name, $value, $separator=" ") {
478481
public function getModelInstance() {
479482
return $this->_modelInstance;
480483
}
484+
485+
/**
486+
* @return mixed true if widget has validation rules
487+
*/
488+
public function hasRules() {
489+
return $this->_hasRules;
490+
}
491+
481492

482493
}

Ajax/semantic/html/collections/form/HtmlForm.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,10 @@ public function setValidationParams(array $_validationParams) {
213213
$this->_validationParams=$_validationParams;
214214
return $this;
215215
}
216+
217+
public function hasValidationParams(){
218+
return sizeof($this->_validationParams)>0;
219+
}
216220

217221
public function getValidationParams() {
218222
return $this->_validationParams;

Ajax/semantic/widgets/base/FieldAsTrait.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@
2929
* @author jc
3030
* @property InstanceViewer $_instanceViewer
3131
* @property boolean $_edition
32-
* @property mixed _modelInstance
32+
* @property mixed $_modelInstance
33+
* @property boolean $_hasRules
3334
*/
3435
trait FieldAsTrait{
3536

@@ -64,6 +65,7 @@ private function _getLabelField($caption,$icon=NULL){
6465

6566
protected function _addRules(HtmlFormField $element,&$attributes){
6667
if(isset($attributes["rules"])){
68+
$this->_hasRules=true;
6769
$rules=$attributes["rules"];
6870
if(\is_array($rules)){
6971
$element->addRules($rules);

Ajax/semantic/widgets/dataform/DataForm.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,9 @@ protected function _generateContent($form){
7070
$this->_generateFields($form, $fields, $headers, $separators[$i], $wrappers);
7171
}
7272
}
73+
if($this->_hasRules && !$this->getForm()->hasValidationParams()){
74+
$this->setValidationParams(["inline"=>true]);
75+
}
7376
}
7477

7578
protected function _generateFields($form,$values,$headers,$sepFirst,$wrappers){

0 commit comments

Comments
 (0)