diff --git a/apps/emqx_message_validation/src/emqx_message_validation_schema.erl b/apps/emqx_message_validation/src/emqx_message_validation_schema.erl index f151cdf62..788bb49a1 100644 --- a/apps/emqx_message_validation/src/emqx_message_validation_schema.erl +++ b/apps/emqx_message_validation/src/emqx_message_validation_schema.erl @@ -18,8 +18,6 @@ api_schema/1 ]). --export([validate_name/1]). - %%------------------------------------------------------------------------------ %% Type declarations %%------------------------------------------------------------------------------ @@ -55,7 +53,7 @@ fields(validation) -> binary(), #{ required => true, - validator => fun validate_name/1, + validator => fun emqx_resource:validate_name/1, desc => ?DESC("name") } )}, @@ -200,16 +198,6 @@ ensure_array(undefined, _) -> undefined; ensure_array(L, _) when is_list(L) -> L; ensure_array(B, _) -> [B]. -validate_name(Name) -> - %% see `MAP_KEY_RE' in hocon_tconf - RE = <<"^[A-Za-z0-9]+[A-Za-z0-9-_]*$">>, - case re:run(Name, RE, [{capture, none}]) of - match -> - ok; - nomatch -> - {error, <<"must conform to regex: ", RE/binary>>} - end. - validate_sql(SQL) -> case emqx_message_validation:parse_sql_check(SQL) of {ok, _Parsed} -> diff --git a/apps/emqx_message_validation/test/emqx_message_validation_tests.erl b/apps/emqx_message_validation/test/emqx_message_validation_tests.erl index 7c3dfc9d8..a7bdbc4d6 100644 --- a/apps/emqx_message_validation/test/emqx_message_validation_tests.erl +++ b/apps/emqx_message_validation/test/emqx_message_validation_tests.erl @@ -195,7 +195,6 @@ invalid_names_test_() -> ?_assertThrow( {_Schema, [ #{ - reason := <<"must conform to regex:", _/binary>>, kind := validation_error, path := "message_validation.validations.1.name" } @@ -209,7 +208,9 @@ invalid_names_test_() -> <<"name!">>, <<"some name">>, <<"nãme"/utf8>>, - <<"test_哈哈"/utf8>> + <<"test_哈哈"/utf8>>, + %% long name + binary:copy(<<"a">>, 256) ] ].