AngleSharp by Florian Rappl

<PackageReference Include="AngleSharp" Version="0.5.1" />

.NET API 737,792 bytes

 HTMLFormControlElement

Represents the base class for all HTML form control elements.
using AngleSharp.DOM.Collections; namespace AngleSharp.DOM.Html { public abstract class HTMLFormControlElement : HTMLElement, ILabelabelElement, IValidation { private NodeList _labels; private ValidityState _vstate; private string _error; [DOM("name")] public string Name { get { return GetAttribute("name"); } set { SetAttribute("name", value); } } [DOM("form")] public HTMLFormElement Form { get { return GetAssignedForm(); } } [DOM("disabled")] public bool Disabled { get { return GetAttribute("disabled") != null; } set { SetAttribute("disabled", value ? string.Empty : null); } } [DOM("autofocus")] public bool Autofocus { get { return GetAttribute("autofocus") != null; } set { SetAttribute("autofocus", value ? string.Empty : null); } } [DOM("supportsLabels")] public bool SupportsLabels { get; set; } [DOM("labels")] public NodeList Labels { get { return _labels; } } [DOM("validationMessage")] public string ValidationMessage { get { if (!_vstate.CustomError) return string.Empty; return _error; } } [DOM("willValidate")] public bool WillValidate { get; set; } [DOM("validity")] public ValidityState Validity { get { return _vstate; } } internal HTMLFormControlElement() { _vstate = new ValidityState(); _labels = new NodeList(); } [DOM("checkValidity")] public bool CheckValidity() { Check(_vstate); return _vstate.Valid; } [DOM("setCustomValidity")] public void SetCustomValidity(string error) { _vstate.CustomError = !string.IsNullOrEmpty(error); _error = error; } internal virtual void ConstructDataSet(FormDataSet dataSet, HTMLElement submitter) { } internal virtual void Reset() { } protected virtual void Check(ValidityState state) { } } }