I'm trying to figure out a correct validation for custom cron inputs. Here's what I have.
Html
<input id="freqInput" type="text" placeholder="Enter CRONJOB" class="form-control" />
Javascript
function isCronValid(freq) {
var cronregex = new RegExp("/^(\*|((\*\/)?[1-5]?[0-9])) (\*|((\*\/)?[1-5]?[0-9])) (\*|((\*\/)?(1?[0-9]|2[0-3]))) (\*|((\*\/)?([1-9]|[12][0-9]|3[0-1]))) (\*|((\*\/)?([1-9]|1[0-2]))) (\*|((\*\/)?[0-6]))$/");
return cronregex.test(freq);
}
Am I missing something? It's not working.
Controller
public string HangfireCronJob(string url, string freqInput)
{
return freqInput.ToString();
}
It appears your regex expression is invalid. Try this:
document.getElementById('validate').addEventListener('click', () =>{
console.log(isCronValid(document.getElementById('freqInput').value));
});
function isCronValid(freq) {
var cronregex = new RegExp(/^(\*|([0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9])|\*\/([0-9]|1[0-9]|2[0-9]|3[0-9]|4[0-9]|5[0-9])) (\*|([0-9]|1[0-9]|2[0-3])|\*\/([0-9]|1[0-9]|2[0-3])) (\*|([1-9]|1[0-9]|2[0-9]|3[0-1])|\*\/([1-9]|1[0-9]|2[0-9]|3[0-1])) (\*|([1-9]|1[0-2])|\*\/([1-9]|1[0-2])) (\*|([0-6])|\*\/([0-6]))$/);
return cronregex.test(freq);
}
<input id="freqInput" type="text" placeholder="Enter CRONJOB" class="form-control" value="* * * * *" />
<button id="validate">Validate</button>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With