Browse Source

added placeholder attribute to input tag helper

pull/670/head
Yunus Emre Kalkan 8 years ago
parent
commit
23a57fa897
  1. 16
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs
  2. 18
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/Placeholder.cs

16
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs

@ -125,6 +125,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form
isCheckbox = IsInputCheckbox(context, output, inputTagHelperOutput.Attributes);
AddFormControlClass(context, output, isCheckbox, inputTagHelperOutput);
AddReadOnlyAttribute(inputTagHelperOutput);
AddPlaceholderAttribute(inputTagHelperOutput);
return inputTagHelperOutput;
}
@ -172,6 +173,21 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form
}
}
protected virtual void AddPlaceholderAttribute(TagHelperOutput inputTagHelperOutput)
{
if (inputTagHelperOutput.Attributes.ContainsName("placeholder"))
{
return;
}
var attribute = GetAttribute<Placeholder>(TagHelper.AspFor.ModelExplorer);
if (attribute != null)
{
inputTagHelperOutput.Attributes.Add("placeholder", attribute.Value);
}
}
protected virtual bool IsInputCheckbox(TagHelperContext context, TagHelperOutput output, TagHelperAttributeList attributes)
{
return attributes.Any(a => a.Value != null && a.Name == "type" && a.Value.ToString() == "checkbox");

18
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/Placeholder.cs

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form
{
[AttributeUsage(AttributeTargets.Property)]
public class Placeholder : Attribute
{
public string Value { get; set; }
public Placeholder(string value)
{
Value = value;
}
}
}
Loading…
Cancel
Save