Javascript 将required与自定义搜索/下拉控件一起使用
如果所需数据不在常规控件中,如何对自定义表单控件强制执行表单要求和验证? 我正在使用一个名为“搜索和选择”的自定义用户控件,可以找到该控件,尽管它很有用,但缺少一些验证功能。该控件允许用户通过在文本字段中键入(#1)来进行提前键入搜索,然后修改下拉列表(#2)。单击下拉列表(#3)中的某个项目时,该项目将被选中,导致该项目的名称也显示在顶部(#4),并在下拉列表中在其旁边显示复选标记 如何强制在此控件上选择项目?我发现,对于包含其他控件的自定义控件,强制使用Javascript 将required与自定义搜索/下拉控件一起使用,javascript,angularjs,forms,user-controls,Javascript,Angularjs,Forms,User Controls,如果所需数据不在常规控件中,如何对自定义表单控件强制执行表单要求和验证? 我正在使用一个名为“搜索和选择”的自定义用户控件,可以找到该控件,尽管它很有用,但缺少一些验证功能。该控件允许用户通过在文本字段中键入(#1)来进行提前键入搜索,然后修改下拉列表(#2)。单击下拉列表(#3)中的某个项目时,该项目将被选中,导致该项目的名称也显示在顶部(#4),并在下拉列表中在其旁边显示复选标记 如何强制在此控件上选择项目?我发现,对于包含其他控件的自定义控件,强制使用require/ngRequire的
require
/ngRequire
的信息涉及传播其中一个内部控件的要求-例如,使整个搜索控件使用中包含的文本框的所需状态。但是,这是不准确的-文本框中的内容是不相关的,是否选择了某个内容实际上是一个幕后局部变量是否设置以及其名称是否显示在原始文本中的问题
我试图通过要求ngModel和修改ngModel来修改指令。$isEmpty
。然而,这似乎没有任何效果
link: function (scope, elm, attr, ngModel) {
...
ngModel.$isEmpty = function(value) {
return (!scope.selectedItem || scope.selectedItem === {})
};
...
}
如何根据
范围的值强制此字段的必要性。selectItem
?能否提供您已经尝试过的内容的plunkr、JSbin或Codepen?这将使我们更容易回答您的问题question@JoelCDoyle由于该代码与我的雇主拥有的其他专有公司代码绑定在一起并被其包围,因此我无法给出更多细节。在任何情况下,我相信我的问题都是相对通用的——它甚至不需要使用我提到的特定搜索控件,这只是一个例子。你能提供一个你已经尝试过的plunkr、JSbin或Codepen吗?这将使我们更容易回答您的问题question@JoelCDoyle由于该代码与我的雇主拥有的其他专有公司代码绑定在一起并被其包围,因此我无法给出更多细节。在任何情况下,我相信我的问题是相对通用的-它甚至不需要使用我提到的特定搜索控件,这只是一个例子。