MDL-64010 badges: Validate URL form fields.

This commit is contained in:
Adrian Greeve
2018-11-16 10:28:09 +08:00
parent dccda6546b
commit 347b771a4b
3 changed files with 25 additions and 0 deletions
+15
View File
@@ -76,4 +76,19 @@ class competency_alignment_form extends moodleform {
}
}
}
/**
* Validate the data from the form.
*
* @param array $data form data
* @param array $files form files
* @return array An array of error messages.
*/
public function validation($data, $files) {
$errors = parent::validation($data, $files);
if (!empty($data['targeturl']) && !preg_match('@^https?://.+@', $data['targeturl'])) {
$errors['targeturl'] = get_string('invalidurl', 'badges');
}
return $errors;
}
}
+4
View File
@@ -211,6 +211,10 @@ class edit_details_form extends moodleform {
$errors['name'] = get_string('error:duplicatename', 'badges');
}
if ($data['imageauthorurl'] && !preg_match('@^https?://.+@', $data['imageauthorurl'])) {
$errors['imageauthorurl'] = get_string('invalidurl', 'badges');
}
return $errors;
}
}
+6
View File
@@ -86,6 +86,12 @@ class endorsement_form extends moodleform {
if ($data['issueremail'] && !validate_email($data['issueremail'])) {
$errors['issueremail'] = get_string('invalidemail');
}
if ($data['issuerurl'] && !preg_match('@^https?://.+@', $data['issuerurl'])) {
$errors['issuerurl'] = get_string('invalidurl', 'badges');
}
if ($data['claimid'] && !preg_match('@^https?://.+@', $data['claimid'])) {
$errors['claimid'] = get_string('invalidurl', 'badges');
}
return $errors;
}
}