Skip to content

Commit 6e2043e

Browse files
committed
adding validation rules (#22833)
1 parent c0c6825 commit 6e2043e

File tree

3 files changed

+60
-0
lines changed

3 files changed

+60
-0
lines changed

app/code/Magento/User/Block/User/Edit/Tab/Main.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,34 @@ protected function _prepareForm()
170170
);
171171
}
172172

173+
$baseFieldset->addField(
174+
'expires_at',
175+
'date',
176+
[
177+
'name' => 'expires_at',
178+
'label' => __('Expiration Date'),
179+
'title' => __('Expiration Date'),
180+
'date_format' => 'yyyy-MM-dd',
181+
'time_format' => 'hh:mm:ss',
182+
'class' => 'validate-date',
183+
]
184+
)
185+
// ->setAfterElementHtml("<script type=\"text/javascript\">
186+
// //<![CDATA[
187+
// require([
188+
// 'jquery',
189+
// 'mage/calendar'
190+
// ], function($){
191+
// $('#expires_at').calendar({
192+
// hideIfNoPrevNext: true,
193+
// minDate: new Date(),
194+
// showOn: 'button',
195+
// dateFormat: 'yyyy-MM-dd'
196+
// }); });
197+
// //]]>
198+
// </script>")
199+
;
200+
173201
$baseFieldset->addField('user_roles', 'hidden', ['name' => 'user_roles', 'id' => '_user_roles']);
174202

175203
$currentUserVerificationFieldset = $form->addFieldset(

app/code/Magento/User/Model/User.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,10 @@ protected function _getValidationRulesBeforeSave()
322322
$this->validationRules->addPasswordConfirmationRule($validator, $this->getPasswordConfirmation());
323323
}
324324
}
325+
326+
if ($this->hasExpiresAt()) {
327+
$this->validationRules->addExpiresAtRule($validator);
328+
}
325329
return $validator;
326330
}
327331

app/code/Magento/User/Model/UserValidationRules.php

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,4 +125,32 @@ public function addPasswordConfirmationRule(
125125
$validator->addRule($passwordConfirmation, 'password');
126126
return $validator;
127127
}
128+
129+
/**
130+
* Adds validation rule for expiration date.
131+
* @param \Magento\Framework\Validator\DataObject $validator
132+
* @return \Magento\Framework\Validator\DataObject
133+
*/
134+
public function addExpiresAtRule(\Magento\Framework\Validator\DataObject $validator)
135+
{
136+
$expiresValidator = new \Zend_Validate_Date(
137+
[
138+
'format' => \Magento\Framework\Stdlib\DateTime::DATETIME_INTERNAL_FORMAT,
139+
]
140+
);
141+
$expiresValidator->setMessage(
142+
__('"Expiration date" invalid type entered.'),
143+
\Zend_Validate_Date::INVALID
144+
);
145+
$expiresValidator->setMessage(
146+
__('"Expiration date" is not a valid date.'),
147+
\Zend_Validate_Date::INVALID_DATE
148+
);
149+
$expiresValidator->setMessage(
150+
__('"Expiration date" does not fit the required date format.'),
151+
\Zend_Validate_Date::FALSEFORMAT
152+
);
153+
$validator->addRule($expiresValidator, 'expires_at');
154+
return $validator;
155+
}
128156
}

0 commit comments

Comments
 (0)