/// <summary> /// 初始化输入控件生成器 /// </summary> private void InitInputBuilder(FormFieldBuilder formFieldBuilder, InputBuilder inputBuilder) { inputBuilder.SetText(); inputBuilder.AddOtherAttributes(_config); inputBuilder.Id(_config); inputBuilder.AddAttribute(UiConst.Name, _config.GetValue(UiConst.Name)); inputBuilder.AddAttribute("placeholder", _config.GetValue(UiConst.Placeholder)); inputBuilder.AddAttribute("type", _config.Type); inputBuilder.AddAttribute("[(ngModel)]", _config.GetValue(UiConst.Model)); AddValidations(formFieldBuilder, inputBuilder); }
/// <summary> /// 初始化输入控件生成器 /// </summary> private void InitInputBuilder(FormFieldBuilder formFieldBuilder, InputBuilder inputBuilder, TextBoxConfig config) { inputBuilder.SetText(); foreach (var attribute in config.GetAttributes()) { inputBuilder.Attribute(attribute.Key, attribute.Value); } inputBuilder.AddAttribute("name", config.Name); inputBuilder.AddAttribute("placeholder", config.Placeholder); inputBuilder.AddAttribute("value", config.Value); inputBuilder.AddAttribute("type", config.Type); inputBuilder.AddAttribute("[(ngModel)]", config.Model); AddValidations(formFieldBuilder, inputBuilder, config); }
/// <summary> /// 添加最小长度验证 /// </summary> private void AddMinLength(FormFieldBuilder formFieldBuilder, InputBuilder inputBuilder, TextBoxConfig config) { if (config.MinLength <= 0) { return; } inputBuilder.AddAttribute("minlength", config.MinLength.ToString()); AddError(formFieldBuilder, inputBuilder, "minlength", config.MinLengthMessage); }
/// <summary> /// 添加必填项验证 /// </summary> private void AddRequired(FormFieldBuilder formFieldBuilder, InputBuilder inputBuilder, TextBoxConfig config) { if (config.Required == false) { return; } inputBuilder.AddAttribute("required", "true"); AddError(formFieldBuilder, inputBuilder, "required", config.RequiredMessage); }
/// <summary> /// 添加引用Id /// </summary> private void AddRefrenceId(InputBuilder inputBuilder) { if (_refrenceId != null) { return; } _refrenceId = $"m_{Id.Guid()}"; inputBuilder.AddAttribute($"#{_refrenceId}", "ngModel"); }
/// <summary> /// 添加必填项验证 /// </summary> private void AddRequired(FormFieldBuilder formFieldBuilder, InputBuilder inputBuilder) { if (_config.Contains(UiConst.Required) == false) { return; } inputBuilder.AddAttribute(UiConst.Required, "true"); AddError(formFieldBuilder, inputBuilder, UiConst.Required, _config.GetValue(UiConst.RequiredMessage)); }
/// <summary> /// 添加错误消息 /// </summary> private void AddError(FormFieldBuilder formFieldBuilder, InputBuilder inputBuilder, string type, string message) { if (string.IsNullOrWhiteSpace(message)) { return; } var id = $"m_{Id.Guid()}"; inputBuilder.AddAttribute($"#{id}", "ngModel"); formFieldBuilder.AppendChild(new ErrorBuilder(id, type, message)); }