So I have a file and it contains a function
const registerUsernameValidation = (username, n_patt) => {
if (username.val() == "" || username.val().length > 12 || username.val().length < 3) {
username.addClass("border-danger");
$("#u_error").html("<span class='text-danger'>Please Enter A Username</span>");
status = false;
} else if (username.val().length > 12) {
username.addClass("border-danger");
$("#u_error").html("Please Enter A Username With A Length Less Than 12");
status = false;
} else if (username.val().length < 3) {
username.addClass("border-danger");
$("#u_error").html("Please Enter A Username With A Length Greater Than 3");
status = false;
} else if (!n_patt.test(username.val())) {
username.addClass("border-danger");
$("#u_error").html("Please Enter A Valid Username, Only Letters And Numbers");
status = false;
} else {
username.removeClass("border-danger");
$("#u_error").html("");
status = true;
}
}
export {registerUsernameValidation};
my main.js:
import { registerUsernameValidation } from "./validation.js";
$(document).ready(function() {
$("#register_form").on("submit", function() {
var username = $("#username");
var email = $("#email");
var pass1 = $("#password1");
var pass2 = $("#password2");
var type = $("#usertype");
var n_patt = new RegExp(/^(?![0-9]*$)[a-zA-Z0-9]+$/);
var e_patt = new RegExp(/^[a-z0-9_-]+(.[a-z0-9_-]+)*@[a-z0-9_-]+(.[a-z0-9_-]+)*(.[a-z]{2,4})$/);
registerUsernameValidation(username, n_patt);
});
});
and for some reason I still get an error Uncaught SyntaxError: Cannot use import statement outside a module
Advertisement
Answer
Using in Node.js
Add "type": "module" to your package.json. This will tell node that import will be used to import files instead of require.
Using in browser
Add a type="module" attribute to your <script> tag.