Yii2 validation, allow few different formats
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I want to allow multiple formats for a field in Yii2
ActiveRecord
like:
public function rules()
return [
['date', 'date', 'format' => 'php:Y-m-d H:i'],
['date', 'date', 'format' => 'php:Y-m-d'],
];
But like this it fails if any of them fails. I there any way to do it rules
?
Currently I'm thinking of doing it in beforeValidate
like:
public function beforeValidate()
$this->date = date('Y-m-d H:i', strtotime($this->date));
return parent::beforeValidate();
What is the best way to do it?
php validation activerecord yii2
add a comment |
I want to allow multiple formats for a field in Yii2
ActiveRecord
like:
public function rules()
return [
['date', 'date', 'format' => 'php:Y-m-d H:i'],
['date', 'date', 'format' => 'php:Y-m-d'],
];
But like this it fails if any of them fails. I there any way to do it rules
?
Currently I'm thinking of doing it in beforeValidate
like:
public function beforeValidate()
$this->date = date('Y-m-d H:i', strtotime($this->date));
return parent::beforeValidate();
What is the best way to do it?
php validation activerecord yii2
what is the field type in your database, i mean you are using a field of type text? and you want to just allow the desired formats to be saved in the database and want to control it on model level
– Muhammad Omer Aslam
Nov 15 '18 at 20:07
@MuhammadOmerAslam field type is date
– Herokiller
Nov 16 '18 at 1:10
add a comment |
I want to allow multiple formats for a field in Yii2
ActiveRecord
like:
public function rules()
return [
['date', 'date', 'format' => 'php:Y-m-d H:i'],
['date', 'date', 'format' => 'php:Y-m-d'],
];
But like this it fails if any of them fails. I there any way to do it rules
?
Currently I'm thinking of doing it in beforeValidate
like:
public function beforeValidate()
$this->date = date('Y-m-d H:i', strtotime($this->date));
return parent::beforeValidate();
What is the best way to do it?
php validation activerecord yii2
I want to allow multiple formats for a field in Yii2
ActiveRecord
like:
public function rules()
return [
['date', 'date', 'format' => 'php:Y-m-d H:i'],
['date', 'date', 'format' => 'php:Y-m-d'],
];
But like this it fails if any of them fails. I there any way to do it rules
?
Currently I'm thinking of doing it in beforeValidate
like:
public function beforeValidate()
$this->date = date('Y-m-d H:i', strtotime($this->date));
return parent::beforeValidate();
What is the best way to do it?
php validation activerecord yii2
php validation activerecord yii2
asked Nov 15 '18 at 16:10
HerokillerHerokiller
1,51842144
1,51842144
what is the field type in your database, i mean you are using a field of type text? and you want to just allow the desired formats to be saved in the database and want to control it on model level
– Muhammad Omer Aslam
Nov 15 '18 at 20:07
@MuhammadOmerAslam field type is date
– Herokiller
Nov 16 '18 at 1:10
add a comment |
what is the field type in your database, i mean you are using a field of type text? and you want to just allow the desired formats to be saved in the database and want to control it on model level
– Muhammad Omer Aslam
Nov 15 '18 at 20:07
@MuhammadOmerAslam field type is date
– Herokiller
Nov 16 '18 at 1:10
what is the field type in your database, i mean you are using a field of type text? and you want to just allow the desired formats to be saved in the database and want to control it on model level
– Muhammad Omer Aslam
Nov 15 '18 at 20:07
what is the field type in your database, i mean you are using a field of type text? and you want to just allow the desired formats to be saved in the database and want to control it on model level
– Muhammad Omer Aslam
Nov 15 '18 at 20:07
@MuhammadOmerAslam field type is date
– Herokiller
Nov 16 '18 at 1:10
@MuhammadOmerAslam field type is date
– Herokiller
Nov 16 '18 at 1:10
add a comment |
3 Answers
3
active
oldest
votes
You can do it by making function, for example validateDateFormat()
and to handle logic inside it, and then in rules you say ['date', 'validateDateFormat']
, refer to Yii's documentation for more informations.
add a comment |
You can create Custom Rule it work like this .
Just add under rule
['date','datefunction']
public function datefunction($attribute,$params)
$date = $this->$attribute;
/*****check validation******/
$this->addError($attribute, "Date : $date Format is wrong");
Note: Your may get DB exception error. You need to change format once saving a file.
add a comment |
Looks like you want to match multiple date and time formats? Try this way:
['date', 'match', 'pattern' => '#^(?!0000)[0-9]4-((0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9])|(0[13-9]|1[0-2])-(29|30)|(0[13578]|1[02])-31)( ([01][0-9]|2[0-3]):([0-5][0-9]))?$#']
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53323530%2fyii2-validation-allow-few-different-formats%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can do it by making function, for example validateDateFormat()
and to handle logic inside it, and then in rules you say ['date', 'validateDateFormat']
, refer to Yii's documentation for more informations.
add a comment |
You can do it by making function, for example validateDateFormat()
and to handle logic inside it, and then in rules you say ['date', 'validateDateFormat']
, refer to Yii's documentation for more informations.
add a comment |
You can do it by making function, for example validateDateFormat()
and to handle logic inside it, and then in rules you say ['date', 'validateDateFormat']
, refer to Yii's documentation for more informations.
You can do it by making function, for example validateDateFormat()
and to handle logic inside it, and then in rules you say ['date', 'validateDateFormat']
, refer to Yii's documentation for more informations.
answered Nov 16 '18 at 1:12
Borisa EricBorisa Eric
34916
34916
add a comment |
add a comment |
You can create Custom Rule it work like this .
Just add under rule
['date','datefunction']
public function datefunction($attribute,$params)
$date = $this->$attribute;
/*****check validation******/
$this->addError($attribute, "Date : $date Format is wrong");
Note: Your may get DB exception error. You need to change format once saving a file.
add a comment |
You can create Custom Rule it work like this .
Just add under rule
['date','datefunction']
public function datefunction($attribute,$params)
$date = $this->$attribute;
/*****check validation******/
$this->addError($attribute, "Date : $date Format is wrong");
Note: Your may get DB exception error. You need to change format once saving a file.
add a comment |
You can create Custom Rule it work like this .
Just add under rule
['date','datefunction']
public function datefunction($attribute,$params)
$date = $this->$attribute;
/*****check validation******/
$this->addError($attribute, "Date : $date Format is wrong");
Note: Your may get DB exception error. You need to change format once saving a file.
You can create Custom Rule it work like this .
Just add under rule
['date','datefunction']
public function datefunction($attribute,$params)
$date = $this->$attribute;
/*****check validation******/
$this->addError($attribute, "Date : $date Format is wrong");
Note: Your may get DB exception error. You need to change format once saving a file.
answered Nov 16 '18 at 6:48
Abhishek SrivastavaAbhishek Srivastava
564
564
add a comment |
add a comment |
Looks like you want to match multiple date and time formats? Try this way:
['date', 'match', 'pattern' => '#^(?!0000)[0-9]4-((0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9])|(0[13-9]|1[0-2])-(29|30)|(0[13578]|1[02])-31)( ([01][0-9]|2[0-3]):([0-5][0-9]))?$#']
add a comment |
Looks like you want to match multiple date and time formats? Try this way:
['date', 'match', 'pattern' => '#^(?!0000)[0-9]4-((0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9])|(0[13-9]|1[0-2])-(29|30)|(0[13578]|1[02])-31)( ([01][0-9]|2[0-3]):([0-5][0-9]))?$#']
add a comment |
Looks like you want to match multiple date and time formats? Try this way:
['date', 'match', 'pattern' => '#^(?!0000)[0-9]4-((0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9])|(0[13-9]|1[0-2])-(29|30)|(0[13578]|1[02])-31)( ([01][0-9]|2[0-3]):([0-5][0-9]))?$#']
Looks like you want to match multiple date and time formats? Try this way:
['date', 'match', 'pattern' => '#^(?!0000)[0-9]4-((0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9])|(0[13-9]|1[0-2])-(29|30)|(0[13578]|1[02])-31)( ([01][0-9]|2[0-3]):([0-5][0-9]))?$#']
answered Nov 22 '18 at 5:00
LunaLuna
346111
346111
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53323530%2fyii2-validation-allow-few-different-formats%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
what is the field type in your database, i mean you are using a field of type text? and you want to just allow the desired formats to be saved in the database and want to control it on model level
– Muhammad Omer Aslam
Nov 15 '18 at 20:07
@MuhammadOmerAslam field type is date
– Herokiller
Nov 16 '18 at 1:10