Anyone here tried the function testlab_testsettest_fieldcanchange(fieldname, Newvalue) before?

Below is my requirement,
when stats change to "failed" , need the "user_defined_1" is requireed

Below is my script
If fieldname="TC_Status" and newvalue="failed" then
Testsettest_fields("TC_User_01").IsVisible = True
Testsettest_fields("TC_User_01").IsRequired = True
End if

Issue as below
After I apply uppon script, when tester change status to "failed", system do highlight the user defined 1 as red(means mandatory),but I still can submit with blank content.

Appreciate your reply, thanks in advance