Below is my rule for project name:
$this->validate(request(), [
'projectName' => 'required|regex:/(^([a-zA-z]+)(\d+)?$)/u',
];
I am trying to add the rule such that it must start with a letter from a-z
or A-z
and can end with numbers but most not.
Valid values for project name:
myproject123
myproject
MyProject
Invalid values for project name:
123myproject
!myproject
myproject 123
my project
my project123
I tried my regex online:
https://regex101.com/r/FylFY1/2
It should work, but I can pass the validation even with project 123
.
UPDATE: It actually works, I just tested it in the wrong controller, im sorry... but maybe it will help others nevertheless
Your rule is well done BUT you need to know, specify validation rules with regex separated by pipeline can lead to undesired behavior.
The proper way to define a validation rule should be:
You can read on the official docs: